我正在使用YII2高级版,后端需要一个操作来使前端的缓存失效。
这是必需的,因为我使用yii2mod/yii2-settings,显然,设置在两端都被缓存。但我无法通过
这是必需的,因为我使用yii2mod/yii2-settings,显然,设置在两端都被缓存。但我无法通过
Yii::$app->cache->flush();
从后端清除缓存,这只会在后端执行。Yii::$app->cache->flush();
从后端清除缓存,这只会在后端执行。不知怎么的,我发现如果在后端组件上进行引用,我就能够访问后端的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
我花了一段时间才搞清楚这个问题,所以我希望这能帮助到他人。