wired cache problem

Post date: May 20, 2012 5:48:51 AM

上周及之前,陆续碰到一些让人哭笑不得的缓存事件,记录一下,以纪念那些难熬的时间点。

1. 浏览器缓存。Firefox 可能缓存旧的 js 文件,我在服务端更新之后,运营组说怎么消息提示功能显示的样式还是老样子?让其清空浏览器缓存后,正常。还有一次 A 页面提交表单后,B 页面的内容得不到更新,凡是 B 页面表单中 id 和 A 页面相同的,都赋上了 A 中的值,想了很多办法(包括清空 jQuery 的缓存),还是没有效果,最后,无奈之下,只好把 A 中表单内成员的 id 修改为和 B 一样。

教训:web 程序更新后,用户端最好清空浏览器缓存,以防出现莫名其妙的事故。如果缓存事件难以避免,如上所述第二个故事,干脆把因缓存引起的命名冲突的元素都改成不同的名称吧。

2. tomcat work 目录缓存。这个就太头疼了。还有一个问题,用户说某个窗口的按钮失效,可是,我在开发环境总是重现不了这个问题。后来都是想了突然灵光一闪,遂将 tomcat work 目录的缓存清空。于是,一切又重新正常了。

教训:部署 web 应用时,应清空前面遗留的缓存文件。

3. eclipse 缓存。有时候,明明修改了代码,在相应位置打上了断点,可是调试时发现,根本就没走到那个位置去。这时候检查逻辑正常的话,就要考虑重新编译了。