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