首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缓存-最佳实践

缓存-最佳实践
EN

Stack Overflow用户
提问于 2012-03-20 01:08:23
回答 1查看 1.2K关注 0票数 0

我正在写一个web应用程序,我有一个严重的问题,太多的缓存。如果重要的话,我会使用CakePHP 2.0。

无论如何,基本上我遇到的问题是浏览器缓存我的应用程序太频繁了。例如,如果我让一个用户填写一个表单,然后添加一个flash消息,并将用户重定向到他们的仪表板,flash消息看起来很好,但它会一直显示到我刷新页面。因此,如果我离开该页面并导航回来,闪光灯消息仍然存在。这只是一个小问题,更大的问题是页面实际上是根据用户的操作而改变的。

例如,在管理端,我可能会更新用户的状态,这会以某种方式更改他们的仪表板。问题是,如果不刷新,将看不到更新的仪表板。真是个麻烦!

我的问题不是如何解决这个问题,我知道如何停止缓存。缓存似乎是web应用程序性能的重要组成部分,我不想停止缓存,因为我可以看到它减慢了速度。

那么在这些情况下通常会做些什么呢?我应该停止所有的页面缓存吗?这似乎是一个极端的解决方案。或者我应该像这样链接到我所有的页面:

代码语言:javascript
复制
http://mywebsite.com/user?t=<?php echo time(); ?>

或者我还漏掉了什么?任何建议都是非常感谢的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-24 03:44:16

这里概述的答案-- How do I completely disable caching in Cakephp? --行得通吗?

修复flash消息的问题很难--因为flash消息是输出HTML的一部分,所以您无法在back按钮事件上摆脱它。

对于仪表板,我建议关闭浏览器缓存...但这并不能解决CakePHP拥有的任何内置缓存。

听起来,您需要的是仅在有更新的情况下才使缓存失效的方法-您可以向add()/edit()方法添加一个方法,以便在成功的save()事件后完全删除缓存-这似乎是唯一适用于您的情况的万无一失的方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9774587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档