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

首頁 > CMS > Discuz > 正文

Discuz論壇教程之內存緩存機制與使用竅門

2024-08-30 19:07:26
字體:
來源:轉載
供稿:網友

Discuz論壇教程之內存緩存機制與使用方法,也許很多人都在使用Discuz論壇,但你對Discuz論壇的內存緩存機制了解嗎,你知道Discuz論壇的使用方面嗎?

目錄(?)

  1. 內存級緩存

  2. 內存級緩存層實現細節

內存級緩存

緩存層的引入是為了解決MYSQL自身對高并發處理的性能瓶頸,目前產品緩存層采用主流的Key-Value對形式,內存級的緩存產品很多,支持的內存優化接口有 Memcache、eAccelerator、Alternative PHP Cache(APC)、Xcache、Redis 五種,優化系統將會依據當前服務器環境依次選用接口,單服務器環境中推薦使用APC,多服務器環境中推薦使用Redis或Memcache。

數據層是以表為單位的類文件,所有表類都繼承discuz_table基類,基類實現緩存操 作的相關函數;理論上所有的數據表均可以緩存,目前產品在六個壓力大的數據表內置開啟了緩存 機制:用戶相關表、回帖、主題、主題和專輯關系、淘貼專輯、用戶關注關系。

  • 用戶相關表

緩存表:'common_member', 'count', 'status','profile', 'field_home', 'field_forum'。
UID為緩存KEY。表數據更新時緩存數據會同步更新。

  • 回帖

以TID為單位,緩存第一頁的post數據。表數據更新時緩存數據會同步更新。

  • 主題

TID為緩存KEY。表數據更新時緩存數據會同步更新。
版塊列表默認參數第一頁時以 forumdisplay_FID 為緩存KEY,緩存時間內數據不更新。

  • 主題和專輯關系

以TID為單位,此TID的專輯ID集合,表數據更新時緩存數據會同步更新。

  • 淘貼專輯

以TID為單位,此TID的專輯集合,緩存時間內數據不更新。

  • 用戶關注關系

以UID為單位,此UID關注用戶的關系數據,緩存時間內數據不更新。

內存級緩存層實現細節

  • discuz_table基類中緩存機制的實現

/**  * @var string 緩存主鍵名前綴,為空時表示此表不支持緩存  */  protected $_pre_cache_key;  /**  * @var string 緩存時間,以秒為單位,0表示永久或相關配置文件中的默認值  */  protected $_cache_ttl;
  • discuz_table基類中緩存機制的方法

//緩存一個變量到緩存中,如果 KEY已經在則會被覆蓋為新值 store_cache($id, $data, $cache_ttl = null, $pre_cache_key = null) //獲取指定KEY的緩存數據 fetch_cache($ids, $pre_cache_key = null) //清除指定KEY的緩存 clear_cache($ids, $pre_cache_key = null) //更新一個已經存在的KEY,只更新修改的字段 update_cache($id, $data, $cache_ttl = null, $pre_cache_key = null) //批量更新緩存,只更新已經存在KEY的指定修改的字段 update_batch_cache($ids, $data, $cache_ttl = null, $pre_cache_key = null) //重置已經存在的KEY的值 reset_cache($ids, $pre_cache_key = null) //累加緩存數據中某字段的值 increase_cache($ids, $data, $cache_ttl = null, $pre_cache_key = null)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 双鸭山市| 南岸区| 景泰县| 孙吴县| 威远县| 荆州市| 土默特左旗| 渑池县| 保定市| 华安县| 龙口市| 宁国市| 嵊州市| 连云港市| 荆州市| 丰城市| 昌江| 竹山县| 桓仁| 长葛市| 榆树市| 湖南省| 尉犁县| 尤溪县| 浦北县| 新竹市| 左权县| 鄂托克旗| 扶绥县| 焦作市| 奉新县| 介休市| 加查县| 屏山县| 涟源市| 柯坪县| 唐山市| 巢湖市| 井冈山市| 资阳市| 玉溪市|