織夢DedeCMS的問答模塊ask緩存機制詳解,織夢技術
導讀:織夢技術織夢技術織夢DedeCMS在國內算是比較流行的開源cms,大多數個人網站及企業網站都選用了織夢DedeCMS,諸多用戶對織夢DedeCMS的緩存結構卻并不是很了解,這里dede手機模板dede網站模板。
織夢DedeCMS在國內算是比較流行的開源cms,大多數個人網站及企業網站都選用了織夢DedeCMS,諸多用戶對織夢DedeCMS的緩存結構卻并不是很了解,這里我就對織夢DedeCMS的緩存機制進行一下講解。
織夢DedeCMS其緩存文件放在data目錄下的cache、tplcache、sessions文件中,詳細了解的話,我推薦:增強織夢DedeCMS“更新系統緩存”清理沉余緩存的功能 http://www.gxchina.com/edu/11185.html
在本節中,我主要以ask問答模塊為例來看看其緩存的使用。
1.最先調用ask/index.php,緩存通過調用語句 require_once(DEDEASK.'/data/common.inc.php'); 實現;
2.ask/data目錄下的文件為生成緩存的主要文件,在ask/data/common.inc.php中調用了 //載入分類 require_once DEDEASK.'/data/asktype.inc.php'; //載免費織夢模板入積分排行 require_once DEDEASK.'/data/scores.inc.php'; 這兩個文件就是生成對應緩存文件和讀取緩存數據的關鍵所在。
3.(1)前臺ask/data/asktype.inc.php先判斷ask/data/cache/asktype.inc文件是否存在,如果存在則直接讀取該緩存文件的數據放在$asktypes中,否則從織夢模板下載數據庫中讀取數據放在$asktypes中并寫入對應緩存文件中。 (2)后臺admin可以在模塊/問答管理/欄目管理增加分類并提交后會更新緩存,實現代碼為ask/controller/admin/asktype.php中的 //更新欄目緩存 function updatecache() { $asktypes = $this->type->get_alltype(); $path = DEDEASK."/data/cache/asktype.inc"; $row = serialize($asktypes); $configstr = "<"."?php\r\n\$asktypes = '".$row."';"; file_put_contents($path, $configstr); } 通過$this->updatecache(); 更新了對應的緩存文件。
4.ask/data/scores.inc.php是通過時間來控制積分的緩存數據,如果超過了緩存時間則從數據庫讀取數據,否則文件存在則讀取文件緩存數據,文件不存在則為空; 生成或更新緩存文件的時間也放在文件中緩存。 注意transport()函數中的 $path = $cfg_basehost.'/'.APPNAME."/?ct=index&ac=scores"; 對應的文件是ask/controller/index.php中動作 //更新總積分排行 function ac_scores() { $memberlists = $this->scores->get_scores(); if(count($memberlists) > 0) { $row = serialize($memberlists); $configstr = "<"."?php\r\n\$memberlists = '".$row."';"; file_put_content織夢文章模板s(DEDEASK.'/data/cache/scores.inc', $configstr); } }
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-07-19 ,文章織夢DedeCMS的問答模塊ask緩存機制詳解,織夢技術主要講述緩存,詳解,CMS網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_30435.html