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

How to flush frontend Cache from backend in Yii2

我正在使用 YII2 Advanced,在后端我需要一个使前端缓存无效的操作。

这是必需的,因为我使用 yii2mod/yii2-settings,很遗憾,设置正在两端缓存。但是我无法使用 Yii::$app->cache->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

这花了我一段时间才弄明白,所以我希望这对某人有所帮助。