軟件 聊天 安全 視頻 瀏覽器 下載 系統 辦公 教學 輸入法
免費 域名 空間 相冊 郵箱 資源 網賺 試用 優惠 工具
教程 設計 三維 學院 辦公 網頁
素材 PSD 矢量 網頁 PPT 動畫
美女 唯美 大生活 美圖 風景 時尚藝
資訊 新聞 專題 熱點
您的位置: 廣信之家 > 網絡學院 > 建站資訊 > 文章正文

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

時間:06-08 22:37 來源:廣信之家 整理:廣信小編 我要評論(0)
字號:T|T
內容提要:
  織夢DedeCMS在國內算是比較流行的開源cms,大多數個人網站及企業網站都選用了織夢DedeCMS,諸多用戶對織夢DedeCMS的緩存結構卻并不是很了解,這里我就對織夢DedeCMS的緩存機制進行一下講解。

  織夢DedeCMS在國內算是比較流行的開源cms,大多數個人網站及企業網站都選用了織夢DedeCMS,諸多用戶對織夢DedeCMS的緩存結構卻并不是很了解,這里我就對織夢DedeCMS的緩存機制進行一下講解。

  織夢DedeCMS其緩存文件放在data目錄下的cache、tplcache、sessions文件中,詳細了解的話,我推薦:增強織夢DedeCMS“更新系統緩存”清理沉余緩存的功能 http://www.rmhqsu.tw/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_contents(DEDEASK.'/data/cache/scores.inc', $configstr);    
    }
  }

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

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

 

    相關閱讀:

    頂一下
    (0)
    0%
    踩一下
    (0)
    0%
    免責申明:以上內容僅代表原創者觀點,其內容未經本站證實,織夢DedeCMS的問答模塊ask緩存機制詳解對以上內容的真實性、完整性不作任何保證或承諾,轉載目的在于傳遞更多信息,由此產生的后果與織夢DedeCMS的問答模塊ask緩存機制詳解無關;如以上轉載內容不慎侵犯了您的權益,請聯系我們將會及時處理。
    [責任編輯:廣信小編]

    精彩圖文

    登錄 (請登錄發言,并遵守 相關規定)
    如果你對廣信之家有任何意見或建議,請到交流平臺反饋。到留言板反饋
    36选7中奖概率