2008-08-31 92 views
9

有没有简单的方法来缓存MySQL queriesPHP或失败,是否有一个小的类集,有人已经写了,并提供将做到这一点?我可以缓存整个页面,但这不会像一些数据更改,但有些不会,我想缓存不。缓存MySQL查询

回答

1

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

+0

当我在许多Ubuntu/Debian服务器上安装mysql并检查它们是否重新配置时,默认情况下会打开缓存。 `query_cache_limit = 1M`和`query_cache_size = 16M' – shgnInc 2014-04-15 04:09:08

1

它可能是完全矫枉过正,你试图,但看看eAcceleratormemcache。如果您有定期更改的查询和不会的查询,那么您可能不希望所有的db查询都由mysql进行相同的时间长度缓存。

上述缓存引擎允许您在逐个查询的基础上决定数据应该缓存多长时间。所以说你的头文件中的数据很少会改变,你可以检查它是否在缓存中 - 如果是,返回它,否则执行查询,并把它放入缓存中,使用寿命为N,所以下一个每页加载N秒将从缓存中提取数据,而不需要靠近MySQL。 然后,您可以随时随意从数据库中“实时”获取其他数据,并绕过缓存。

4

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

0

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