如何在 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
这花了我一段时间才弄明白,所以我希望这对某人有所帮助。
我正在使用 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
这花了我一段时间才弄明白,所以我希望这对某人有所帮助。