网站有两个入口文件,一个前台a.php,一个后台b.php
如何在后台手动更新前台的某个缓存片段?用Yii::app()->cache->delete()无法删除
网站有两个入口文件,一个前台a.php,一个后台b.php
如何在后台手动更新前台的某个缓存片段?用Yii::app()->cache->delete()无法删除
在前台的site控制器的delcache动作里加上删除缓存的代码:
比如Yii::app()->cache->delete();
在后台可以点击前台的链接实现。
index.php?r=site/delcache
因为前后台不是一个app,所以肯定不能在后台去用Yii::app()去删除前台的缓存。
难道不是知道Key就可以更新的吗?
照你说的方法也不行,难道Yii::app()->cache->delete()不能用来删除COutputCache生成的缓存文件吗?
用$this->beginCache(‘index’, array(‘duration’ => 3580))生成缓存,然后用Yii::app()->cache->delete(‘index’)删除,好像没有效果啊
key被内部加密过了,无法删除,只能清空
只要知道key就可以,没有不能的!找到生成key的规则就可以就可以构造一个key然后删除指定key的缓存。
你可以反复使用Yii::app()->cache->delete($key)的返回,进行调试,如果返回true,表示删除成功。
随便说一句,如果项目分frontend and backend,
ok,没有关系,可以把通过设置cache路径,指定到两个项目share的目录,就可以了, 当然如果不是filecache,就更好办了