缓存MySQL查询

时间:2008-08-31 21:55:36

标签: php mysql caching

是否有一种简单的方法可以在MySQL queries中缓存PHP或者失败,是否有人编写并提供的小类集可以执行此操作?我可以缓存整个页面,但这不会像某些数据更改那样有效,但有些不会,我想缓存那些没有的部分。

5 个答案:

答案 0 :(得分:11)

这是如何在MySQL中缓存查询的一个很好的概述:

答案 1 :(得分:3)

您可以使用Zend Cache来缓存查询结果等。

答案 2 :(得分:1)

我认为查询缓存大小默认为0,关闭。 编辑你的my.cnf文件,至少给它几兆字节。 不需要PHP更改:)

答案 3 :(得分:1)

您尝试的内容可能完全过分,但请查看eAcceleratormemcache。如果您有经常更改的查询和不会更改的查询,您可能不希望mysql将所有数据库查询缓存相同的时间长度。

如上所述的缓存引擎允许您在逐个查询的基础上决定缓存数据的时间。所以说你的标题中的数据会不经常更改,你可以检查它是否当前在缓存中 - 如果是,则返回它,否则执行查询,并将其放入缓存中,生命周期为N,因此对于下一个每个页面加载N秒将从缓存中提取数据而不会靠近MySQL。 然后,您可以自由地从数据库中“实时”提取其他数据,并在需要时通过缓存。

答案 4 :(得分:0)

我会推荐整页缓存路由。如果某些数据发生变化,只需放置令牌/占位符代替动态数据即可。使用这些令牌缓存整个页面,然后对令牌的缓存数据进行后处理。因此,您现在拥有一个包含动态内容的缓存页面。