立即注冊 找回密碼

QQ登錄

只需一步,快速開始

查看: 4876|回復: 0
打印 上一主題 下一主題

[Ecshop 安裝問題] ecshop程序如何更新緩存,

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2016-5-29 19:43:52 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
道勤網(wǎng)-數(shù)據(jù)bmrsportswear.com
html" target="_blank" class="relatedlink">ecshop程序如何更新緩存,

介意用這個,當然也有人會用如下的方法:(謹慎處理)
ECSHOP的緩存存放在templates/caches/文章夾下,時間長了這個文件夾就會非常龐大,拖慢網(wǎng)站速度。還有很多情況我們不需要他的緩存。模板堂整理本文介紹禁用ECSHOP緩存的方法。
  ECSHOP的緩存有兩部分,一部分是SMARTY的頁面緩存;另一部分是SQL查詢結(jié)果的緩存。這兩部分都是保存在templates/caches/文件夾下。只要我們分別關(guān)閉這兩個功能,就可以完全禁用ECSHOP的緩存。當然你也可以根據(jù)自己的需要關(guān)閉其中某一個。
/*1.關(guān)閉SMARTY的緩存:
  打開includes/cls_template.php,找到下面一段
  if (file_put_contents($this->cache_dir . ‘/’ . $cachename . ‘.php’, ‘<?php exit;?>’ . $data . $out) === false)
       {
           trigger_error(‘can\’t write:’ . $this->cache_dir . ‘/’ . $cachename . ‘.php’);
       }
--將此代碼注釋掉
  2.關(guān)閉SQL查詢結(jié)果緩存
  打開includes/cls_mysql.php
  找到
    var $max_cache_time=3600;//最大的緩存時間,以秒為單位
  改為
     var $max_cache_time=0;//最大的緩存時間,以秒為單位


如何限制或禁用ECShop緩存呢?按道理只要ftp登錄到主機空間服務器,清除“templates/caches”文件夾下的緩存文件,但比較安全穩(wěn)妥的辦法是進入ecshop網(wǎng)店后臺點擊右上角“清除緩存”按鈕。還是完全禁用ecshop的緩存功能。

一、禁用ecshop部分數(shù)據(jù)表緩存。
ecshop里caches文件夾緩存文件包括sql查詢結(jié)果緩存和SMARTY模板頁面緩存。如果訪問網(wǎng)站的用戶一多,這些臨時的緩存數(shù)據(jù)都被保持在ECshop的“templates/caches”文件夾下。數(shù)據(jù)緩存對提高網(wǎng)店速度有一定作用,但緩存文件一多也就過猶不及。有人說只對favourable_activity,goods_activity這2個表禁用緩存即可。
打開include/init.php,找到

PHP代碼
   
$db->set_disable_cache_tables(array($ecs->table(’sessions’), $ecs->table(’sessions_data’), $ecs->table(’cart’)));   
修改為

PHP代碼
   
$db->set_disable_cache_tables(array($ecs->table(’sessions’), $ecs->table(’sessions_data’), $ecs->table(’cart’), $ecs->table(’favourable_activity’), $ecs->table(’goods_activity’)));  
二、完全禁用ecshop緩存
定期要登錄ecshop網(wǎng)店后臺清除緩存文件,對于懶人來說,這也挺嫌麻煩的。那干脆完全禁用ecshop緩存吧。參考小蟲的禁用echsop緩存文章,小蟲的具體代碼是2.6.0左右的版本。2.7的ecshop禁用緩存修改方法類似:

1. 用editplus打開include/cls_template.php,把下面代碼注釋掉:

PHP代碼
   
  
2.用editplus打開include/cls_mysql.php,找到 max_cache_time = 300,把300改為0即可

三、templates/compiled下的文件是否可以清空?
templates/compiled下的文件是模板編譯后文件,可以清空。當用戶瀏覽網(wǎng)店后又會重新生成。templates文件夾下的主要是caches里緩存文件太多,你可以定期清空或完全禁用ecshop緩存。

----------------------------------------------

關(guān)于清除緩存的建議!!
發(fā)現(xiàn)現(xiàn)在的清除緩存做的比較粗!和之前沒大變化啊!和2.0.5一樣.
只要后臺隨便一個修改的操作,整個緩存就都沒了!用的都是$smarty->clear_all_cache();
缺點:如果我有10萬商品,,而且都被瀏覽過,我后臺一個操作就要清楚15萬多緩存文件似乎極限了點
只是舉例!!,希望ECSHOP更加完美而已!

smarty里面不是有這個函數(shù)么?
clear_cache(),我小修改了下,增加了可以指定刪除某個目錄下的緩存,用處是:可方便的刪除商品的分類緩存!

2.0.5上我是這么改的,另外在根目錄建立一個緩存目錄templates_caches,里面建立article,article_cat,goods,goods_cat,4個文件夾分別放文章內(nèi)容,文章列表,商品內(nèi)容,商品列表的緩存
例子:對商品,文章部分的修改
前臺init.php和后臺init.php加入如下代碼,我為了方便直接加在config.php里面了
//緩存目錄設(shè)置
define('ECS_ROOT', substr(dirname(__FILE__), 0, -8));//前后臺數(shù)字當然不一樣了
//文章緩存
$cache_dir_article = ECS_ROOT.'./templates_caches/article';
$cache_dir_article_cat = ECS_ROOT.'./templates_caches/article_cat';
//商品緩存
$cache_dir_goods = ECS_ROOT.'./templates_caches/goods';
$cache_dir_goods_cat = ECS_ROOT.'./templates_caches/goods_cat';
復制代碼
前臺商品內(nèi)容和分類緩存時間單獨設(shè)置長一些,如內(nèi)容一個月,分類1天
修改后臺,商品單獨修改的地方只刪除這個商品內(nèi)容的緩存
只要有修改操作就刪除商品分類緩存和首頁緩存!加入如下
$smarty->clear_cache(null, null, null, null, $cache_dir_goods_cat);//zouql:刪除商品目錄緩存,默認緩存時間
$smarty->clear_cache('goods.html', $goods_id, null, null, $cache_dir_goods);//zouql:刪除商品緩存,默認緩存時間
還有廣告管理等等等等等等等等地方要改!
前臺用戶發(fā)表評論后自動刪除本商品緩存等等..........


function clear_cache($tpl_file = null, $cache_id = null, $compile_id = null, $exp_time = null, $cache_dir = null)
{

      if (!isset($cache_dir))
$cache_dir = $this->cache_dir;
if (!isset($compile_id))
         $compile_id = $this->compile_id;

       if (!isset($tpl_file))
         $compile_id = null;

       $_auto_id = $this->_get_auto_id($cache_id, $compile_id);

       if (!empty($this->cache_handler_func)) {
         return call_user_func_array($this->cache_handler_func,
                              array('clear', &$this, &$dummy, $tpl_file, $cache_id, $compile_id, $exp_time));
       } else {
         $_params = array('auto_base' => $cache_dir,
                        'auto_source' => $tpl_file,
                        'auto_id' => $_auto_id,
                        'exp_time' => $exp_time);
         require_once(SMARTY_CORE_DIR . 'core.rm_auto.php');
         return smarty_core_rm_auto($_params, $this);
       }

}
道勤主機提供365天*24小時全年全天無休、實時在線、零等待的售后技術(shù)支持。竭力為您免費處理您在使用道勤主機過程中所遇到的一切問題! 如果您是道勤主機用戶,那么您可以通過QQ【792472177】、售后QQ【59133755】、旺旺【詮釋意念】、微信:q792472177免費電話、后臺提交工單這些方式聯(lián)系道勤主機客服! 如果您不是我們的客戶也沒問題,點擊頁面最右邊的企業(yè)QQ在線咨詢圖標聯(lián)系我們并購買后,我們?yōu)槟赓M進行無縫搬家服務,讓您享受網(wǎng)站零訪問延遲的遷移到道勤主機的服務!
本內(nèi)容系 道勤團隊 bmrsportswear.com 客服與技術(shù)人員研究整理的智慧結(jié)晶,轉(zhuǎn)載勿用于商業(yè)用途,并保留本文鏈接,侵權(quán)必究!

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?立即注冊

x
dsu_marcocopyright:copy_link 

【道勤網(wǎng)】- bmrsportswear.com 軟件視頻自學教程|免費教程|自學電腦|3D教程|平面教程|影視動畫教程|辦公教程|機械設(shè)計教程|網(wǎng)站設(shè)計教程!【道勤網(wǎng)】 - 論壇版權(quán)1、本主題所有言論和圖片純屬會員個人意見,與本論壇立場無關(guān)
2、本站所有主題由該帖子作者發(fā)表,該帖子作者與【道勤網(wǎng)】- bmrsportswear.com 軟件視頻自學教程|免費教程|自學電腦|3D教程|平面教程|影視動畫教程|辦公教程|機械設(shè)計教程|網(wǎng)站設(shè)計教程!【道勤網(wǎng)】享有帖子相關(guān)版權(quán)
3、其他單位或個人使用、轉(zhuǎn)載或引用本文時必須同時征得該帖子作者和【道勤網(wǎng)】- bmrsportswear.com 軟件視頻自學教程|免費教程|自學電腦|3D教程|平面教程|影視動畫教程|辦公教程|機械設(shè)計教程|網(wǎng)站設(shè)計教程!【道勤網(wǎng)】的同意
4、帖子作者須承擔一切因本文發(fā)表而直接或間接導致的民事或刑事法律責任
5、本帖部分內(nèi)容轉(zhuǎn)載自其它媒體,但并不代表本站贊同其觀點和對其真實性負責
6、如本帖侵犯到任何版權(quán)問題,請立即告知本站,本站將及時予與刪除并致以最深的歉意
7、【道勤網(wǎng)】- bmrsportswear.com 軟件視頻自學教程|免費教程|自學電腦|3D教程|平面教程|影視動畫教程|辦公教程|機械設(shè)計教程|網(wǎng)站設(shè)計教程!【道勤網(wǎng)】管理員和版主有權(quán)不事先通知發(fā)貼者而刪除本文

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)閉

道勤網(wǎng)- 推薦內(nèi)容!上一條 /2 下一條

!jz_fbzt! !jz_sgzt! !jz_xgzt! 快速回復 !jz_fhlb! !jz_lxwm! !jz_gfqqq!

關(guān)于我們|手機版|小黑屋|地圖|【道勤網(wǎng)】-bmrsportswear.com 軟件視頻自學教程|免費教程|自學電腦|3D教程|平面教程|影視動畫教程|辦公教程|機械設(shè)計教程|網(wǎng)站設(shè)計教程【道勤網(wǎng)】 ( 皖I(lǐng)CP備15000319號-1 )

GMT+8, 2024-10-23 07:25

Powered by DaoQin! X3.4 © 2016-2063 Dao Qin & 道勤科技

快速回復 返回頂部 返回列表