国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > 織夢DEDE > 正文

織夢DedeCMS的問答模塊ask緩存機制詳解

2024-07-12 08:46:58
字體:
來源:轉載
供稿:網友

織夢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中并寫入對應緩存文件中。
 ?。?)后臺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_contents(DEDEASK.'/data/cache/scores.inc', $configstr);    
    }
  }

 織夢DedeCMS的問答模塊ask緩存機制詳解

總結:后臺管理生成的數據據我所見都會被緩存,開源實現的主要是文件緩存,一般也提供了memcache等緩存接口,實現的方式就各有不同!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昌江| 瓮安县| 河南省| 宕昌县| 广河县| 垦利县| 高密市| 七台河市| 浙江省| 上高县| 洛浦县| 宁波市| 萨嘎县| 祁连县| 茂名市| 合川市| 布拖县| 靖江市| 福泉市| 克拉玛依市| 鄯善县| 定襄县| 剑河县| 北安市| 蓬溪县| 阿瓦提县| 蓬安县| 江陵县| 蕲春县| 项城市| 卢氏县| 许昌县| 青田县| 鄂伦春自治旗| 安泽县| 湘潭市| 西乡县| 永年县| 兰考县| 黄龙县| 融水|