缓存MySQL查询
时间:2020-03-05 18:45:45 来源:igfitidea点击:
有没有一种简单的方法可以在PHP中缓存MySQL查询,或者失败了,有人编写并提供了一个小型的类集来做到这一点吗?我可以缓存整个页面,但是由于某些数据更改而不能工作,但是有些不能,所以我想缓存不起作用的部分。
解决方案
回答
这是有关如何在MySQL中缓存查询的很好的概述:
- MySQL查询缓存
回答
我认为查询缓存大小默认为0,这是关闭的。
编辑my.cnf文件,使其至少有几兆字节。
无需更改PHP :)
回答
对于我们尝试的操作,这可能完全是矫over过正,但请查看eAccelerator或者内存缓存。如果查询会定期更改而查询不会更改,则我们可能不希望mysql将所有数据库查询缓存相同的时间长度。
像上面的缓存引擎,我们可以逐个查询地决定将数据缓存多长时间。因此,假设标头中的数据很少更改,可以检查是否当前在缓存中,如果是,则将其返回,否则执行查询,并将其放入缓存中,其生存期为N,因此对于下一个N每页加载几秒钟将在不接近MySQL的情况下从缓存中提取数据。
然后,我们可以根据需要在绕过缓存的情况下从数据库中"实时"获取其他数据。
回答
我们可以使用Zend Cache来缓存查询的结果。
回答
我会建议整个页面缓存路线。如果某些数据发生更改,只需将令牌/占位符放置在动态数据位置即可。使用这些标记就可以缓存整个页面,然后对标记的缓存数据进行标记后处理。因此,我们现在有了一个包含动态内容的缓存页面。