繁体   English   中英

CodeIgniter数据库缓存正在缓存会话Flashdata-使其持久保存太长时间

[英]CodeIgniter Database Caching is caching Session Flashdata - making it persist for too long

我正在构建一个应用程序,该应用程序在某些操作(例如“项已成功删除”)之后使用Flashdata向用户显示消息。我还使用CodeIgniter的数据库查询缓存来缓存某些查询,直到我使它们无效为止。

编辑项目后,我将一条Flashdata消息设置为“ Item Edited”。 然后,我将redirect()到“所有项目”视图-显示Flashdata消息。 但是,即使我重新加载page,此Flashdata消息仍然存在 使它消失的唯一方法是清空application/cache目录。

有什么明智的方法可以替代不缓存Flashdata的缓存机制? 我发现了这一点-http://codeigniter.com/wiki/No_Flash_Cache-但它似乎是CI 1.7的非常老的解决方案。 无论如何,我还是放手一搏,但是由于某些原因,CI不想覆盖私有函数_write_cache() ,尽管它可以覆盖其他所有功能…… (编辑:现在意识到(除非有人告诉我)影响输出缓存-不影响数据库缓存)

提前致谢!

您可以使用cache_override钩子来更改codeigniter的缓存机制。 以下行已从其文档中复制

cache_override:使您能够调用自己的函数,而不是输出类中的_display_cache()函数。 这使您可以使用自己的缓存显示机制。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM