thinkphp 中內建了快取操作 3.1版本的資料快取方法是cache
基本用法:
S(array('type'=>'xcache','expire'=>60));
快取初始化
快取初始化可以支援的引數根據不同的快取方式有所區別,常用的引數
expire 快取的有效期
prefix 快取標識字首
type 快取型別
其中 expire prefix type 為識別符號 命名遵守識別符號的命名規則可以隨意替換
ps:如果S方法不傳入type引數初始化,可以讀取配置檔案中設定的DATA_CACHE_TYPE引數值作為預設型別
prefix 引數沒有傳入會讀取配置檔案的DATA_CACHE_PREFIX引數值
expire 引數沒有傳入則讀取DATA_CACHE_TIME配置值作為預設值
有些快取方式會有一些自身特殊的引數,如memcache快取,還需配置其他的引數:
S(array( 'type'=>'memcache', //快取型別 'host'=>'localhost', //主機地址 'port'=>'11211', //memcache埠號 'prefix'=>'mem', //快取字首 'expire'=>60 //快取時間 一分鐘 ));
快取設定
//設定快取
S('a',$value);
上面的程式碼中沒有設定快取時間 會讀取配置檔案中的DATA_CACHE_TIME中的引數值
在快取設定的時候改變引數
//快取資料300s
S('a',$value,300);
// 採用檔案方式快取資料300秒
S('a',$value,array('type'=>'file','expire'=>300));
快取讀取
//讀取快取
$res = S('a');
ps:如果快取標識不存在或者已經過期,則返回false,否則返回快取值
快取刪除
//刪除快取
S('a',null);
物件方式操作快取
//初始化快取
$cache = S(array('type'=>'xcache','prefix'=>'think','expire'=>600));
$cache->name = 'value'; //設定快取
$value = $cache->name; //獲取快取
unset($cache->name); //刪除快取 ps:其中name為合法的識別符號
快取的應用
在讀取資料庫的時候把讀取的資料快取起來 當用戶再次呼叫讀取資料庫函式時先判斷快取是否過期 如果快取沒有過期可直接從快取中讀取資料 快取過期再讀取資料庫 從而減輕資料庫的壓力