## 概述
ThinkPHP5.0采用Think\Cache類統(tǒng)一對(duì)緩存功能提供支持。
## 設(shè)置
緩存支持采用驅(qū)動(dòng)方式,所以緩存在使用之前,需要進(jìn)行連接操作,也就是緩存初始化操作。
~~~
$options = [
'type'=>'File', // 緩存類型為File
'expire'=>0, // 緩存有效期為永久有效
'prefix'=>'think'
'path'=> APP_PATH.'Runtime/cache/', // 指定緩存目錄
];
\think\Cache::connect($options);
~~~
或者通過定義配置參數(shù)的方式:
~~~
'cache' => [
'type' => 'File',
'path' => CACHE_PATH,
'prefix' => '',
'expire' => 0,
],
~~~
支持的緩存類型包括file、apachenote、apc、eaccelerator、memcache、secache、wincache、shmop、sqlite、db、redis和xcache
緩存參數(shù)根據(jù)不同的緩存方式會(huì)有所區(qū)別,通用的緩存參數(shù)如下:
|||
|---|---|
|type |緩存類型|
|expire |緩存有效期 (默認(rèn)為0 表示永久緩存)|
|prefix |緩存前綴(默認(rèn)為空)|
|length |緩存隊(duì)列長(zhǎng)度(默認(rèn)為0)|
## 使用
緩存初始化之后,就可以進(jìn)行相關(guān)緩存操作了。
### 設(shè)置緩存
~~~
\think\Cache::set('name',$value,3600); // 緩存標(biāo)識(shí)為name的數(shù)據(jù),有效期3600秒
~~~
### 獲取緩存
獲取緩存數(shù)據(jù)可以使用:
~~~
dump(\think\Cache::get('name')); // 獲取緩存數(shù)據(jù)
~~~
### 刪除緩存
~~~
\think\Cache::rm('name'); // 刪除name標(biāo)識(shí)的緩存數(shù)據(jù)
~~~
### 清空緩存
~~~
\think\Cache::clear(); // 清空緩存數(shù)據(jù)
~~~
## 緩存隊(duì)列
所有緩存方式均支持緩存隊(duì)列功能,也就是說,我們可以指定緩存隊(duì)列的長(zhǎng)度,超出長(zhǎng)度后,位于隊(duì)列開頭的緩存數(shù)據(jù)將會(huì)被移除。
我們只需要設(shè)置length屬性,例如:
~~~
$options = [
'type'=>'File', // 緩存類型為File
'expire'=>0, // 緩存有效期為永久有效
'length'=>3, // 緩存隊(duì)列長(zhǎng)度
'temp'=> APP_PATH.'Runtime/Cache/', // 指定緩存目錄
];
\think\Cache::connect($options);
\think\Cache::set('name1','val1');
\think\Cache::set('name2','val2');
\think\Cache::set('name3','val3');
\think\Cache::set('name4','val4'); // name1標(biāo)識(shí)的緩存數(shù)據(jù)將被移除
dump(\think\Cache::get('name1')); // 輸出結(jié)果為 false
~~~
## 快捷方法
系統(tǒng)對(duì)緩存操作提供了快捷函數(shù)S,用法如下:
~~~
$options = [
'type'=>'File', // 緩存類型為File
'expire'=>0, // 緩存有效期為永久有效
'length'=>3, // 緩存隊(duì)列長(zhǎng)度
'path'=> APP_PATH.'Runtime/cache/', // 指定緩存目錄
];
S($options); // 緩存初始化
S('name',$value,3600); // 設(shè)置緩存數(shù)據(jù)
var_dump(S('name')); // 獲取緩存數(shù)據(jù)
S('name',NULL); // 刪除緩存數(shù)據(jù)
~~~
還可以在設(shè)置緩存的同時(shí)進(jìn)行參數(shù)設(shè)置:
~~~
S('test',$value,['expire'=>60,'path'=>APP_PATH.'Temp/','type'=>'xcache']);
~~~
- 介紹
- 快速入門
- 安裝配置
- 目錄結(jié)構(gòu)
- 系統(tǒng)架構(gòu)
- 命名規(guī)范
- 自動(dòng)生成
- 引導(dǎo)文件
- 自動(dòng)加載
- 配置
- 路由
- 控制器
- 模型
- 視圖
- 模板
- 自定義標(biāo)簽庫(kù)
- 數(shù)據(jù)庫(kù)
- 域名部署
- 輸入
- 緩存
- 日志
- 行為
- 多語言
- 調(diào)試
- 新特性介紹
- 增強(qiáng)路由功能
- 更靈活的控制器
- API開發(fā)支持
- 內(nèi)置SocketLog
- 新的自動(dòng)生成
- 利用Traits特性擴(kuò)展
- 自動(dòng)加載及Loader類
- 命令行工具集
- 附錄
- 升級(jí)指南
- 配置參考
- 錯(cuò)誤編碼
