背景
有个项目使用的mysql数据库,第一次查询很慢,大约15s左右出结果,再次查询就很快了。
分析
后面变快的原因是mysql有缓存机制,但是过上一段时间不使用缓存会过期,我个人测了一下2~3分钟一班不会过期,6~7分钟就普遍过期了。
所以,是不是可以通过定时刷新查询语句,来保持缓存的有效性呢?
测试了一下,是可以的。
扩展
考虑到该项目本身查询语句是固定的,大概10条,所以采取了一个取巧的解决方案。
即:
在服务器上放一个隐藏的网页,每2分钟刷新一次这10条语句。
这样就能使mysql缓存不过期,从而保持相对快速的查询速度。
当然,用客户端刷新效果一样。