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

Pab*_*ios 3 php yii2 yii2-advanced-app

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

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

Pab*_*ios 7

所以我发现如果我在后端组件上做一个引用,我终于可以访问后端的flush.

\backend\config\main.php

'components' => [
    //...
    'frontendCache' => [
        'class' => 'yii\caching\FileCache',
        'cachePath' => Yii::getAlias('@frontend') . '/runtime/cache'
    ],
]
Run Code Online (Sandbox Code Playgroud)

现在在你的控制器中

    Yii::$app->cache->flush(); //backend flush
    Yii::$app->frontendCache->flush(); //frontend flush
Run Code Online (Sandbox Code Playgroud)

我花了一段时间才弄清楚这一点,所以我希望这对某人有所帮助.