如何在Yii2中从后端刷新前端缓存

时间:2018-03-06 22:12:16

标签: php yii2 yii2-advanced-app

我正在使用YII2 Advanced,在后端我需要一个Action,它会使前端的Cache无效。

这是必需的,因为我使用yii2mod/yii2-settings,很明显,设置正在两端缓存。但我无法使用Yii::$app->cache->flush();从后台刷新缓存,这只会在后端执行。

1 个答案:

答案 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

我花了一些时间来解决这个问题,所以我希望这会对某人有所帮助。