请问 yii 框架自带的数据缓存保存在哪里? [ 2.0 版本 ]
$cache=Yii::$app->cache;
if(!$cache->get('nba')){
$depen=new \yii\caching\DbDependency(['sql'=>'select count(*) from yiiusertable']);
$arr=['allen','nnn','iverson','six','nba'];
$cache->delete('nba');
$cache->add('nba',$arr,0,$depen);
}else{
print_r($cache->get('nba'));
}
我使用数据依赖缓存,请问下这个$arr数组缓存后数据是保存在哪里?如果知道请给出绝对路径,我用的是basic2.0版本的,非常感谢!
最佳答案
-
johnny1991 发布于 2017-10-23 23:27 举报
这个要看你的cache是怎么配置的,查看config,比如存在redis里面
// redis cache 'cache' => [ 'class' => 'yii\redis\Cache', 'redis' => 'redis' ], // db cache 'dbCache' => [ 'class' => 'yii\caching\DbCache', 'cacheTable'=>'dts_cache', ], // file cache 'fileCache' => [ 'class' => 'yii\caching\FileCache', ],
共 11 条回复johnny1991 回复于 2017-10-24 11:26 回复@Allener 默认存放在
public $cachePath = '@runtime/cache';
这个路径下面,具体什么文件下面,参照源码yii\caching\FileCache
// 这个$key就是你缓存的key protected function getCacheFile($key) { if ($this->directoryLevel > 0) { $base = $this->cachePath; for ($i = 0; $i < $this->directoryLevel; ++$i) { if (($prefix = substr($key, $i + $i, 2)) !== false) { $base .= DIRECTORY_SEPARATOR . $prefix; } } return $base . DIRECTORY_SEPARATOR . $key . $this->cacheFileSuffix; } else { return $this->cachePath . DIRECTORY_SEPARATOR . $key . $this->cacheFileSuffix; } }
johnny1991 回复于 2017-10-25 11:45 回复@Allener filecache会自动创建这个文件夹
@johnny1991 cache这个文件夹没有存在 我查询了整个YII下的目录。
johnny1991 回复于 2017-10-25 21:35 回复@Allener 没有这个目录会在这个类初始化的时候自动创建这个目录,如果实在不行,你可以手动创建这个目录,源码参照yii\caching\FileCache
public function init() { parent::init(); $this->cachePath = Yii::getAlias($this->cachePath); if (!is_dir($this->cachePath)) { FileHelper::createDirectory($this->cachePath, $this->dirMode, true); } }
johnny1991 回复于 2017-10-26 22:15 回复@Allener 请把你项目里面所有的配置文件全部找一遍,你看看cache这个组件,配置了几次,从你的情况看起来,你应该是其他地方配置了cache组件,而且用的不是fileCache
@johnny1991 系统只有一个配置文件,我使用缓存也是用的这个cache组件。
@johnny1991 我知道原因了,因为我用的phpstrom远程linux服务器写代码,生产缓存后并没有及时更新到本地,所以需要本地从服务器上下载下来,才有cache文件目录。十分感谢您的回答。
其他 1 个回答
Allener
注册时间:2017-10-04
最后登录:2017-11-15
在线时长:5小时46分
最后登录:2017-11-15
在线时长:5小时46分
- 粉丝0
- 金钱245
- 威望10
- 积分395