/**
* 快取管理
* @param mixed $name 快取名稱,如果為陣列表示進行快取設定
* @param mixed $value 快取值
* @param mixed $options 快取引數
* @return mixed
*/function s($name,$value='',$options=null) elseif(is_array($name)) elseif(empty($cache))
if(''=== $value)elseif(is_null($value)) else else
return $cache->set($name, $value, $expire);}}
這個函式封裝了快取的建立、獲取、刪除操作,這部分功能很清新,關鍵在建立cache物件的時候函式呼叫了快取基類:think\cache::getinstance 靜態方法,通過這個方法框架支援:file、db、apc、memcache、shmop、sqlite、xcache、apachenote、eaccelerator不同型別的快取方式,為了弄清楚支援這些快取型別的**結構,那麼我們把這個方法**看下:
/*** 取得快取類例項
* @static
* @access public
* @return mixed
*/static function getinstance($type='',$options=array())
//print_r($_instance);
return $_instance[$guid];
}該方法呼叫了本類connect方法,在看下**:
/*** 連線快取
* @access public
* @param string $type 快取型別
* @param array $options 配置陣列
* @return object
*/public function connect($type='',$options=array())
真正的區別快取型別的**在這裡了,「think\\cache\\driver\」 定義了框架支援的快取型別,每種支援的快取型別的檔案在這裡就是乙個類檔案。如果,沒有定義快取型別,框架獲取了配置檔案中「 c('data_cache_type')」的預設值,我們再看下框架預設定義的快取型別是什麼:'data_cache_type' => 'file', 很明顯,框架預設使用的是file型別快取機制。當然,弄清楚這樣的**框架,那天有興趣我們自己也能定義一款更適用專案的快取型別,不是嘛!!
php 快取 加速快取
eaccelerator,xcache,opcache 5.5預設 linux下安裝php時記得加上 enable opcache apc 偏資料庫快取,分系統和使用者快取,不推薦5.5將棄之?是php快取擴充套件,memcached快取是資料庫快取擴充套件 apc比較偏向資料庫快取的 一般兩者只有...
PHP快取之Opcode快取
什麼是opcode快取?當直譯器完成對指令碼 的分析後,便將他們聲稱可以直接執行的中間 也成為操作碼 operate code,opcode opcode cache的目的是避免重複編譯,減少cpu和記憶體的開銷。但是一般動態 的效能瓶頸都在io操作以及資料庫操作,那麼opcode快取能夠帶來的優化...
php快取變數 在PHP中快取變數
對於分析,可以使用xdebug,它在已定義的資料夾中儲存分析資訊,並使用webgrind檢視分析資料。我在php.ini中為xdebug設定 zend extension c web php ts php xdebug 2.1.0 5.3 vc6.dll xdebug.collect params ...