ThinkPHP函式詳解 cache方法

2022-08-01 04:27:13 字數 2547 閱讀 6475

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位址的好處在於,一旦你的環境變化或者引數設定改變,你不需要更改模板中的任何 在模板中的呼叫格式需要採用 的方...