## 概述
> 用于PHP緩存管理(PHP>5.6+)
移植于thinkphgp 5.0.4緩存組件: [鏈接]([[http://www.hmoore.net/manual/thinkphp5/118131](http://www.hmoore.net/manual/thinkphp5/118131))) ; 驅動方式(支持file/memcached/redis)
## 全局的緩存配置
```
cache.type = 'file'
;緩存目錄
cache.path = APPLICATION_PATH "/data/cache"
;緩存前綴
cache.prefix = ''
;使用Redis\memcached請設置host和port
cache.host = '127.0.0.1'
cache.port = '6379'
;緩存有效期 0表示永久緩存
cache.expire = 600
```
> 使用File作為緩存驅動時,請設置 data目錄為 777 可讀可寫權限
## 基本使用
```
Cache::set('val','value',600);//如果設置成功返回true,否則返回false。
Cache::set('name',$value,new DateTime('2017-10-1 12:00'));//緩存有效期支持指定過期時間
Cache::has('val');// 判斷緩存是否設置
Cache::get('val');// 獲取緩存,如不存在,則默認返回`false`
Cache::get('val', '');//指定返回默認值,不存在,則返回空字符串
Cache::rm('val');// 刪除緩存
Cache::clear();// 清空緩存
Cache::pull('val');// 讀取并刪除緩存,值不存在,則返回`null`
Cache::remember('val','value');// 不存在則寫入,性能有影響
// 對于數值類型的緩存數據可以使用
Cache::inc('val');// 緩存增+1
Cache::inc('val',5);// 緩存增+5
Cache::dec('val');// 緩存減1
Cache::dec('val',5);// 緩存減5
```
## 緩存標簽
```
Cache::tag('tag')->set('name1','value1');
Cache::tag('tag')->set('name2','value2');
// 或者批量設置緩存標簽
Cache::set('name1','value1');
Cache::set('name2','value2');
Cache::tag('tag',['name1','name2']);
// 清除tag標簽的緩存數據
Cache::clear('tag');
```
## 切換緩存類型2種方法
1. 在業務中調用`connect`方法
```
$options = [
// 緩存類型為File
'type' => 'File',
// 緩存有效期為永久有效
'expire'=> 0,
//緩存前綴
'prefix'=> 'think',
// 指定緩存目錄
'path' => '../runtime/cache/',
];
Cache::connect($options)->set('name','value',3600);
Cache::connect($options)->get('name');
```
2. 配置參數`type`為`complex`
> 具體使用參考[鏈接]([[http://www.hmoore.net/manual/thinkphp5/118131](http://www.hmoore.net/manual/thinkphp5/118131)))
## 助手函數
> 系統沒有設置類似TP的該助手函數