cache方法是3.0版本開始新增的快取管理方法。
注意:3.1.2版本後因cache方法併入原s方法,所以cache方法不再建議使用,用s方法即可。
cache 用於快取設定、獲取、刪除操作
用法cache($name, $value='',$options=null)
引數name(必須):如果傳入陣列 則表示進行快取初始化,如果是字串則表示快取賦值、獲取或者刪除操作。
value(可選):要設定的快取值,如果傳入null表示刪除快取,預設為空字串。
options(可選):要設定的快取引數,如果是數字則表示僅設定有效期
返回值見詳(根據具體的用法返回不同的值)
快取初始化cache方法傳入陣列即表示進行快取初始化,例如:cache(array('type'=>'xcache','prefix'=>'think','expire'=>600));
複製**
支援的配置引數根據不同的快取方式(由type引數設定),通用的快取引數包括:
引數名說明
expire
快取有效期(時間為秒)
length
快取佇列長度
prefix
快取標識字首
type
快取型別
如果沒有設定type引數,則預設為檔案快取,cache方法目前可以支援的快取型別包括file、apachenote、apc、eaccelerator、memcache、shmop、sqlite、db、redis、xcache和wincache,不同快取型別的快取引數可以參考這裡:動態快取
快取初始化操作後返回的是乙個快取例項化物件。
如果你沒有進行快取初始化的話,cache方法會在你進行快取操作之前自動初始化(用系統預設的快取方式和快取引數),預設快取配置引數包括:
/* 資料快取設定 */
'data_cache_time' => 0, // 資料快取有效期 0表示永久快取
'data_cache_compress' => false, // 資料快取是否壓縮快取
'data_cache_check' => false, // 資料快取是否校驗快取
'data_cache_prefix' => '', // 快取字首
'data_cache_type' => 'file', // 資料快取型別
'data_cache_path' => temp_path,// 快取路徑設定 (僅對file方式有效)
'data_cache_subdir' => false, // 使用子目錄快取 (根據快取標識的雜湊建立子目錄)
'data_path_level' => 1, // 子目錄快取級別複製**
這些具體的快取引數的用法,我們以後會在快速入門:快取中詳細描述。
快取設定快取初始化之後,就可以進行快取操作了,cache('name','value');
複製**
會使用當前配置的快取方式用name標識來快取value值。
可以單獨設定該快取資料的有效期,例如:
cache('name','value',3600);
複製**
快取資料乙個小時。
為了保證快取的安全,建議對返回值做出判斷,如果快取設定失敗,則返回false,否則返回true。
3.1.2版本開始也可以直接在設定快取的同時傳入快取設定引數,例如:
cache('name','value',array('type'=>'xcache','prefix'=>'think','expire'=>600));
複製**
獲取快取$value = cache('name');
複製**
如果快取標識不存在或者已經過期,則返回false,否則返回快取值。
刪除快取cache('name',null);
複製**
刪除快取標識為name的快取資料。
如果要切換快取方式,可以再次進行快取初始化操作。
或者使用下面的方式:
$cache = cache(array('type'=>'xcache','prefix'=>'think','expire'=>600));
$cache->name = 'value'; // 設定快取
$value = $cache->name; // 獲取快取
unset($cache->name); // 刪除快取複製**
如果你設定了快取字首的話,對應的快取操作只是對應該快取字首標識的,不會影響其他的快取。
ThinkPHP函式詳解 A方法
a方法用於在內部例項化控制器,呼叫格式 a 專案 分組 模組 控制器層名稱 最簡單的用法 user a user 複製 表示例項化當前專案的useraction控制器 這個控制器對應的檔案位於lib action useraction.class.php 如果採用了分組模式,並且要例項化另外乙個ad...
ThinkPHP函式詳解 I方法
其命名來自於英文input 輸入 主要用於更加方便和安全的獲取系統輸入變數,可以用於任何地方,用法格式如下 i 變數型別.變數名 預設值 過濾方法 變數型別是指請求方式或者輸入型別,包括 變數型別 含義get 獲取get引數 post 獲取post引數 param 自動判斷請求型別獲取get pos...
ThinkPHP函式詳解 U方法
u方法用於完成對url位址的組裝,特點在於可以自動根據當前的url模式和設定生成對應的url位址,格式為 u 位址 引數 偽靜態 是否跳轉 顯示網域名稱 在模板中使用u方法而不是固定寫死url位址的好處在於,一旦你的環境變化或者引數設定改變,你不需要更改模板中的任何 在模板中的呼叫格式需要採用 的方...