PHPCMS設置和讀取緩存文件
PHPCMS開發中經常用到讀取文件緩存,比如常見的當前站點類別,是保存在緩存文件中的,讀取的時候 用:$this->categorys = getcache(‘category_content_’.$this->siteid,’commons’);
把常用的一些配置和需要經常用到的參數等存入緩存,可以大大提高程序的運行效率,避免重復讀取,PHPCMS提供了設置和讀取文件緩存的方法,本文講講PHPCMS設置緩存函數setcache和讀取緩存函數getcache。
在\libs\functions\global.func.php中定義了設置緩存函數setcache:
/** * 寫入緩存,默認為文件緩存,不加載緩存配置。 * @param $name 緩存名稱 * @param $data 緩存數據 * @param $filepath 數據路徑(模塊名稱) caches/cache_$filepath/ * @param $type 緩存類型[file,memcache,apc] * @param $config 配置名稱 * @param $timeout 過期時間 */ function setcache($name, $data, $filepath='', $type='file', $config='', $timeout=0) { pc_base::load_sys_class('cache_factory','',0); if($config) { $cacheconfig = pc_base::load_config('cache'); $cache = cache_factory::get_instance($cacheconfig)->get_cache($config); } else { $cache = cache_factory::get_instance()->get_cache($type); } return $cache->set($name, $data, $timeout, '', $filepath); }
PHPCMS設置緩存文件
如果要把一個配置或者變量保存到緩存,可以這么用setcache函數
$infos = $this->db->select(); foreach ($infos as $info){ $servers[$info['id']] = $info; } setcache('downservers', $servers,'commons');
第一個參數表示緩存名稱,第二個參數是這個緩存的內容,第三個參數是緩存的位置,這里commons是保存在緩存文件夾的commons文件夾中。
PHPCMS讀取緩存文件
設置好了緩存,在用到緩存的時候怎么讀取呢?也很簡單,用getcache函數:
$downservers = getcache(‘downservers’,’commons’)
第一個參數就是設置的緩存名稱,第二個參數是緩存位置。和設置緩存的時候是對應的