7

有没有一种简单的方法来缓存MySQL queriesPHP失败,是否有人编写并提供了一个小的类集可以做到这一点?我可以缓存整个页面,但这不起作用,因为某些数据更改但有些没有,我想缓存没有的部分。

4

5 回答 5

11

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

于 2008-08-31T21:59:03.043 回答
3

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

于 2008-09-01T15:54:16.330 回答
1

我认为查询缓存大小默认为0,这是关闭的。编辑您的 my.cnf 文件,使其至少有几兆字节。无需更改 PHP :)

于 2008-09-01T02:01:16.067 回答
1

对于您正在尝试的内容,这可能完全是矫枉过正,但请查看eAcceleratormemcache。如果您有会定期更改的查询和不会更改的查询,您可能不希望所有 db 查询都被 mysql 缓存相同的时间长度。

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

于 2008-09-01T07:42:26.013 回答
0

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

于 2009-12-10T08:29:06.237 回答