如何在Yii2中从后端清除前端缓存

4
我正在使用YII2高级版,后端需要一个操作来使前端的缓存失效。
这是必需的,因为我使用yii2mod/yii2-settings,显然,设置在两端都被缓存。但我无法通过Yii::$app->cache->flush();从后端清除缓存,这只会在后端执行。
1个回答

13

不知怎么的,我发现如果在后端组件上进行引用,我就能够访问后端的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

我花了一段时间才搞清楚这个问题,所以我希望这能帮助到他人。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接