有没有简单的缓存方法 MySQL queriesPHP 或者如果做不到这一点,是否有人编写并提供了一个小类集可以做到这一点?我可以缓存整个页面,但这不起作用,因为有些数据发生变化,但有些数据没有变化,我想缓存不变化的部分。

有帮助吗?

解决方案

这是关于如何在 MySQL 中缓存查询的精彩概述:

其他提示

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

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

对于您正在尝试的事情来说,这可能完全是矫枉过正,但请看一下 电子加速器 或者 内存缓存. 。如果您的查询会定期更改,而查询不会定期更改,则您可能不希望 mysql 将所有数据库查询缓存相同的时间长度。

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top