我正在使用YII2 Advanced,在后端我需要一个Action,它会使前端的Cache无效。
这是必需的,因为我使用yii2mod/yii2-settings,很明显,设置正在两端缓存。但我无法使用Yii::$app->cache->flush();
从后台刷新缓存,这只会在后端执行。
答案 0 :(得分:7)
所以不知怎的,我发现如果我在后端组件上做一个引用,我终于可以访问后端的flush。
在\backend\config\main.php
'components' => [
//...
'frontendCache' => [
'class' => 'yii\caching\FileCache',
'cachePath' => Yii::getAlias('@frontend') . '/runtime/cache'
],
]
现在在您的控制器中
Yii::$app->cache->flush(); //backend flush
Yii::$app->frontendCache->flush(); //frontend flush
我花了一些时间来解决这个问题,所以我希望这会对某人有所帮助。