CakePHP 1.3在添加新帖子后清除所有缓存页面

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了CakePHP 1.3在添加新帖子后清除所有缓存页面脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Cake PHP 1.3并尝试为视图页面启用缓存,缓存系统工作正常并缓存所有页面.但是当我们添加一个新帖子(向数据库插入新记录)或编辑旧帖子(更新表的记录)时,CakePHP删除所有缓存页面,而不仅仅是已编辑的页面

app / config / core.PHP

Cache::config('default',array('engine' => 'File','duration' => 8640000));

app / controllers / articles_controller.PHP

VAR $helPErs = array('Cache');
var $cacheAction = array(
    'view' => array('duration' => 8640000),'latest' => array('duration' => 8640000),);

我怎么能告诉Cake只删除已更改页面的缓存版本而不是所有缓存页面

解决方法

这实际上非常难,所以我不能只给你一段代码解决这个问题.您需要编辑管理缓存的lib文件夹中的实际cake文件.注意:这是超级蛋糕人不推荐的.但是,lib / Cake / Cache / Engine / FileEngine.PHP是具有文件引擎操作的文件.您似乎对删除功能感兴趣:

/**
 * Delete a key From the cache
 *
 * @param string $key Identifier for the data
 * @return boolean True if the value was successfully deleted,false if IT didn't exist or Couldn't be removed
 */
public function delete($key) {
    if ($this->_setKey($key) === false || !$this->_init) {
        return false;
    }
    $path = $this->_File->getRealPath();
    $this->_File = null;

    //@codingStandardsIgnoreStart
    return @unlink($path);
    //@codingStandardsIgnoreEnd
}

此外,不是编辑核心蛋糕文件,您可以添加自己的文件引擎,并通过移动代码并在那里扩展代码来使用蛋糕引擎的分离(这在开中非常酷).

通过阅读用于实现文件缓存引擎的代码,您也可以找到实际的解决方案.祝好运.

脚本宝典总结

以上是脚本宝典为你收集整理的CakePHP 1.3在添加新帖子后清除所有缓存页面全部内容,希望文章能够帮你解决CakePHP 1.3在添加新帖子后清除所有缓存页面所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。