举个实际的例子。为了减少对数据库的读操作,我们决定对部分数据加一层 cache。比如判断某 object是否为空,相应数量等等。
我的实现方式是每次数据库commit之后更新cache以防止脏数据,而且不用担心expiration的问题。如果不能hit cache, 我们就去查数据库,同时更新 cache。
我同事对此表示不同意,他的意见是 cache 本来就是性能和数据正确性之间的妥协。所以他觉得我的实现方式其实就是代替数据库,他更倾向设置一个很短的 expiration 时间,并且不去实现 after commit 的 hook,他觉得这样才是正确的使用 cache 的方法。
请问大家对 cache 的用法有什么看法?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.