我正在写一个web应用程序,我有一个严重的问题,太多的缓存。如果重要的话,我会使用CakePHP 2.0。
无论如何,基本上我遇到的问题是浏览器缓存我的应用程序太频繁了。例如,如果我让一个用户填写一个表单,然后添加一个flash消息,并将用户重定向到他们的仪表板,flash消息看起来很好,但它会一直显示到我刷新页面。因此,如果我离开该页面并导航回来,闪光灯消息仍然存在。这只是一个小问题,更大的问题是页面实际上是根据用户的操作而改变的。
例如,在管理端,我可能会更新用户的状态,这会以某种方式更改他们的仪表板。问题是,如果不刷新,将看不到更新的仪表板。真是个麻烦!
我的问题不是如何解决这个问题,我知道如何停止缓存。缓存似乎是web应用程序性能的重要组成部分,我不想停止缓存,因为我可以看到它减慢了速度。
那么在这些情况下通常会做些什么呢?我应该停止所有的页面缓存吗?这似乎是一个极端的解决方案。或者我应该像这样链接到我所有的页面:
http://mywebsite.com/user?t=<?php echo time(); ?>或者我还漏掉了什么?任何建议都是非常感谢的!
发布于 2012-03-24 03:44:16
这里概述的答案-- How do I completely disable caching in Cakephp? --行得通吗?
修复flash消息的问题很难--因为flash消息是输出HTML的一部分,所以您无法在back按钮事件上摆脱它。
对于仪表板,我建议关闭浏览器缓存...但这并不能解决CakePHP拥有的任何内置缓存。
听起来,您需要的是仅在有更新的情况下才使缓存失效的方法-您可以向add()/edit()方法添加一个方法,以便在成功的save()事件后完全删除缓存-这似乎是唯一适用于您的情况的万无一失的方法。
https://stackoverflow.com/questions/9774587
复制相似问题