## 概述
> 用于PHP缓存管理(PHP>5.6+)
移植于thinkphgp 5.0.4缓存组件: [链接]([[https://www.kancloud.cn/manual/thinkphp5/118131](https://www.kancloud.cn/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`
> 具体使用参考[链接]([[https://www.kancloud.cn/manual/thinkphp5/118131](https://www.kancloud.cn/manual/thinkphp5/118131)))
## 助手函数
> 系统没有设置类似TP的该助手函数