什么情况下使用 redis 作为 mysql 查询结果的 cache

更新日期: 2019-09-20 阅读次数: 817 字数: 180 分类: MySQL

So if SQL Server has it's own cache, what is the benefit of an external Memcached (or similar) server?

适用 redis 的场景

  • 复杂/耗时 MySQL 查询的结果缓存。例如,凌晨计算一次的结果,缓存到 redis。但是缓存到 MySQL 的一个新字段也可以。。。
  • 可以设置自动过期
  • 方便分布式部署
  • 需要多次 MySQL 查询,及计算,然后才能生产的结果。例如,排行榜,及每一名的具体信息。

MySQL query cache 什么情况下需要开发/关闭

如果你的应用对数据库的更新很少,那么QC将会作用显著。比较典型的如博客系统,一般博客更新相对较慢,数据表相对稳定不变,这时候QC的作用会比较明显。如果数据库一共往QC中写入了约800W次缓存,但是实际命中的只有约500W次。也就是说,每一个缓存的使用率约为0.66次。很难说,该缓存的作用是否大于QC系统所带来的开销。但是有一点是很肯定的,QC缓存的作用是很微小的,如果应用层能够实现缓存,将可以忽略QC的效果。

查看命中率的方式

show global status like '%Qcache%';

https://mysqlserverteam.com/mysql-8-0-retiring-support-for-the-query-cache/

MySQL 从5.6开始默认禁用query cache, 8.0彻底移除了,文章有分析不使用cache的原因

领取阿里云/腾讯云服务器优惠券

关于作者

我是来自山东烟台的一名开发者,喜欢瞎折腾,顺便记记笔记。有敢兴趣的话题,欢迎加微信 zhongwei 聊聊。 白天写程序,晚上哄熊孩子,可能回复有点慢,见谅。 查看更多联系方式

相关文章

爱评论不评论

近期节日

2020年04月01日 愚人节
2020年04月02日 国际儿童图书日
2020年04月03日 寒食节
2020年04月04日 清明节
2020年04月07日 世界卫生日
2020年04月11日 世界帕金森病日
2020年04月19日 谷雨
2020年04月21日 复活节
2020年04月22日 世界地球日
2020年04月23日 世界读书日
2020年04月26日 知识产权日
2020年04月30日 佛诞
查看更多节日