FileCache 顾名思义就是文件缓存,把需要缓存的数据用文件的形式保存起来。
至于用法也很简单,更详细的还是移步Yii2缓存的官方文档。
在 Yii2 框架中配置 FileCache :
'components' => [
'cache' => [
'class' => 'yii\caching\FileCache',
# 'cachePath' => '@runtime/cache2',// 可以指定文件夹
],
]
所有缓存组件都有同样的基类 yii\caching\Cache ,为了统一接口,Yii2将所有类型的缓存都统一成以下这些方法:
get():通过一个指定的键(key)从缓存中取回一项数据。 如果该项数据不存在于缓存中或者已经过期/失效,则返回值 false。
set():将一个由键指定的数据项存放到缓存中。
add():如果缓存中未找到该键,则将指定数据存放到缓存中。
getOrSet():返回由键指定的缓存项,或者执行回调函数,把函数的返回值用键来关联存储到缓存中, 最后返回这个函数的返回值。
multiGet():由指定的键获取多个缓存数据项。
multiSet():一次存储多个数据项到缓存中,每个数据都由一个键来指明。
multiAdd():一次存储多个数据项到缓存中,每个数据都由一个键来指明。 如果某个键已经存在,则略过该数据项不缓存。
exists():返回一个值,指明某个键是否存在于缓存中。
delete():通过一个键,删除缓存中对应的值。
flush():删除缓存中的所有数据。
下面给出一些例子:
# 加载缓存组件
$cache = Yii::$app->cache;
# 增加一个缓存
$cache->add('url', 'https://caohongyuan.cn');
# 增加/更改一个缓存
$cache->set('url', 'https://www.caohongyuan.cn');
# 获取缓存内容
$cache->get('url');
# 查看缓存是否存在
$cache->exists('url');
# 同时增加多个缓存
$cache->multiAdd(['name' => 'chy', 'url' => 'https://caohongyuan.cn']);
# 同时增加/更改多个缓存
$cache->multiSet(['name' => 'chy', 'url' => 'https://caohongyuan.cn']);
# 同时获取多个缓存
$cache->multiGet(['name', 'url']);
# 获取或者增加缓存
$cache->getOrSet('url', function ($value) {
return $value;
});
# 删除一个缓存
$cache->delete('url');
# 清除所有的缓存文件
$cache->flush();
我这就不做打印操作了。
除了上述操作外,其实还有更实用的操作,当然能理解 FileCache 的原理才是最重要的。比如:过期时间?文件位置?下面简单说下:
3、比如在清除缓存文件的时候,只想清除已经过期的文件,而不是清除所有:
等等,点击查看完整文章。