创建记录缓存的最佳方法(本例中为Memcache)

时间:2012-02-16 11:46:59

标签: php caching memcached

我想使用缓存机制来帮助PHP应用程序中的性能,并且遇到memcache似乎是一个不错的选择。然后调查一下,我发现了一个更常见的缓存问题......

我看到的问题是,如果在示例中我只是使用SQL语句作为缓存结果的哈希键,那么可能存在重复记录的情况。如果SQL A将获取记录1,2,4并且SQL B将获取记录2,3和6,则会发生这种情况。在这种情况下,记录2将在两个结果集中。如果我只是检索记录然后链接到同一记录 - 我实际上并没有获得任何性能提升,并且可能会降低应用程序的速度。

其他人必定会遇到这个问题 - 所以我想知道有谁会建议更好的管理缓存方式。或者是不是简单的不去缓存并总是依赖数据库?

感谢。

1 个答案:

答案 0 :(得分:2)

为什么甚至担心这个?关键是查询是缓存的。如果两个不同查询的结果部分重叠,那么就这样吧。除非这些结果的大小有很多兆字节,因此需要占用大量空间,否则无关紧要。重要的是,如果您想再次运行相同的查询,则不需要,因为结果已经缓存。