搜尋
首頁CMS教程ECShop介紹ecshop清除mysql緩存

介紹ecshop清除mysql緩存

Mar 15, 2021 am 10:25 AM
ecshopmysql快取

介紹ecshop清除mysql緩存

ECSHOP的快取存放在templates/caches/文章夾下,時間長了這個資料夾就會非常龐大,拖慢網站速度。還有很多情況我們不需要他的快取。本文介紹停用ECSHOP快取的方法。

ECSHOP的快取有兩個部分,一部分是SMARTY的頁面快取;另一部分是SQL查詢結果的快取。這兩部分都是保存在templates/caches/資料夾下。只要我們分別關閉這兩個功能,就可以完全停用ECSHOP的快取。當然你也可以依照自己的需求關閉其中某一個。

推薦(免費):ecshop

#1、關閉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、關閉SQL查詢結果快取

#開啟includes/cls_mysql.php

找到

var $max_cache_time=3600;//最大的缓存时间,以秒为单位

改為

var $max_cache_time=0;//最大的缓存时间,以秒为单位

如何限製或停用ECShop快取呢?依道理只要ftp登入主機空間伺服器,清除「templates/caches」資料夾下的快取文件,但比較安全穩健的辦法是進入ecshop網店後台點擊右上角「清除快取」按鈕。還是完全停用ecshop的快取功能。

一、禁用ecshop部分資料表快取

ecshop裡caches資料夾快取檔案包括sql查詢結果快取和SMARTY範本頁面快取。如果造訪網站的使用者一多,這些臨時的快取資料都被保持在ECshop的「templates/caches」資料夾下。資料快取對提高網店速度有一定作用,但快取檔案一多也就過猶不及。有人說只對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網店後台清除快取文件,對於懶人來說,這也挺嫌麻煩的。那乾脆完全禁用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下的文件是模板編譯後文件,可以清空。當使用者瀏覽網店後又會重新產生。 templates資料夾下的主要是caches裡快取檔案太多,你可以定期清空或完全停用ecshop快取。

----------------------------------------------------」 --

關於清除快取的建議!!

發現現在的清除快取做的比較粗!和之前沒大變化啊!和2.0.5一樣.

只要後台隨便一個修改的操作,整個快取就都沒了!用的都是$smarty->clear_all_cache();

缺點:如果我有10萬商品,而且都被瀏覽過,我後台一個操作就要清楚15萬多快取檔:)似乎極限了點

只是舉例!!,希望ECSHOP更加完美而已!

##smarty裡面不是有這個函數麼?

clear_cache(),我小修改了下,增加了可以指定刪除某個目錄下的快取,用處是:可方便的刪除商品的分類快取!

2.0.5上我是這麼改的,另外在根目錄建立一個快取目錄

templates_caches,裡面建立article,article_cat,goods,goods_cat,4個資料夾分別放文章內容,文章清單,商品內容,商品列表的快取

範例:對商品,文章部分的修改

前台init.php和後台init.php加入如下程式碼,我為了方便直接加在config.php裡面了

//缓存目录设置
define(&#39;ECS_ROOT&#39;, substr(dirname(__FILE__), 0, -8));//前后台数字当然不一样了:)
//文章缓存
$cache_dir_article = ECS_ROOT.&#39;./templates_caches/article&#39;;
$cache_dir_article_cat = ECS_ROOT.&#39;./templates_caches/article_cat&#39;;
//商品缓存
$cache_dir_goods = ECS_ROOT.&#39;./templates_caches/goods&#39;;
$cache_dir_goods_cat = ECS_ROOT.&#39;./templates_caches/goods_cat&#39;;

前台商品內容和分類快取時間單獨設定長一些,如內容一個月,分類1天

修改後台,商品單獨修改的地方只刪除這個商品內容的快取

只要有修改操作就刪除商品分類快取和首頁快取!加入如下

$smarty->clear_cache(null, null, null, null, $cache_dir_goods_cat);//zouql:删除商品目录缓存,默认缓存时间
$smarty->clear_cache(&#39;goods.html&#39;, $goods_id, null, null, $cache_dir_goods);//zouql:删除商品缓存,默认缓存时间

還有廣告管理等等等等等等等等地方要改!

前台用戶發表評論後自動刪除本商品快取等等..........

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(&#39;clear&#39;, &$this, &$dummy, $tpl_file, $cache_id, $compile_id, $exp_time));
} else {
$_params = array(&#39;auto_base&#39; => $cache_dir,
&#39;auto_source&#39; => $tpl_file,
&#39;auto_id&#39; => $_auto_id,
&#39;exp_time&#39; => $exp_time);
require_once(SMARTY_CORE_DIR . &#39;core.rm_auto.php&#39;);
return smarty_core_rm_auto($_params, $this);
}
}

以上是介紹ecshop清除mysql緩存的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:CSDN。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。