W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
緩存層的引入是為了解決MYSQL自身對高并發(fā)處理的性能瓶頸,目前緩存層采用主流的Key-Value對形式。內存級的緩存產品很多, 目前DzzOffice支持的內存優(yōu)化接口有 Memcache、eAccelerator、Alternative PHP Cache(APC)、Xcache、Redis 五種,系統(tǒng)將會依據(jù)當前服務器環(huán)境依次選用接口,單服務器環(huán)境中推薦使用APC,多服務器環(huán)境中推薦使用Redis或Memcache。
可以通過配置./core/config/config.php來開啟緩存,配置項如下:
$_config['memory']['prefix'] = 'dzzoffice_';
$_config['memory']['redis']['server'] = ''; // redis 服務器地址
$_config['memory']['redis']['port'] = 6379; // redis 服務器端口
$_config['memory']['redis']['pconnect'] = 1; // redis 是否長久連接
$_config['memory']['redis']['timeout'] = 0; // redis 服務器連接超時
$_config['memory']['redis']['serializer'] = 1; // redis::SERIALIZER選項
$_config['memory']['memcache']['server'] = ''; // memcache 服務器地址
$_config['memory']['memcache']['port'] = 11211; // memcache 服務器端口
$_config['memory']['memcache']['pconnect'] = 1; // memcache 是否長久連接
$_config['memory']['memcache']['timeout'] = 1; // memcache 服務器連接超時
$_config['memory']['apc'] = 0; // 啟動對 apc 的支持
$_config['memory']['xcache'] = 0; // 啟動對 xcache 的支持
$_config['memory']['eaccelerator'] = 0; // 啟動對 eaccelerator 的支持
數(shù)據(jù)層是以表為單位的類文件,所有表類都繼承dzz_table基類,基類實現(xiàn)緩存操 作的相關函數(shù)。理論上所有的數(shù)據(jù)表均可以緩存。
dzz_table基類中緩存機制的實現(xiàn)
protected $_pre_cache_key; //緩存主鍵名前綴,為空時表示此表不支持緩存 protected $_cache_ttl; //緩存時間,以秒為單位,0表示永久或相關配置文件中的默認值
dzz_table基類中緩存機制的方法
//緩存一個變量到緩存中,如果 KEY已經在則會被覆蓋為新值//獲取指定KEY的緩存數(shù)據(jù)//清除指定KEY的緩存//更新一個已經存在的KEY,只更新修改的字段//批量更新緩存,只更新已經存在KEY的指定修改的字段//重置已經存在的KEY的值//累加緩存數(shù)據(jù)中某字段的值
數(shù)據(jù)表類中增加下面的參數(shù)來啟用緩存
//例如: public function __construct() { $this->_table = 'app_open'; $this->_pk = 'extid'; $this->_pre_cache_key = 'app_open_'; //緩存主鍵名前綴,為空時表示此表不支持緩存 $this->_cache_ttl =0; //緩存時間,以秒為單位,0表示永久或相關配置文件中的默認值 parent::__construct(); }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: