內存級緩存

2018-02-07 14:35 更新

 緩存層的引入是為了解決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();	
         }
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號