34.为什么要用缓存?
正如在 「什么是缓存?」 问题中所看到的,使用缓存的目的,就是提升读写性能。而实际业务场景下,更多的是为了提升读性能,带来更好的性能,更高的并发量。
日常业务中,我们使用比较多的数据库是 MySQL ,缓存是 Redis 。一起来看看,阿里云提供的性能规格:
- Redis 性能规格,https://help.aliyun.com/document\_detail/26350.html 。打底 8W QPS ,最高可达千万 QPS 。
- MySQL 性能规格 https://help.aliyun.com/document\_detail/53637.html 。打底 1.4K QPS ,最高 7W QPS
如此一比较,Redis 比 MySQL 的读写性能好很多。那么,我们将 MySQL 的热点数据,缓存到 Redis 中,提升读取性能,也减小 MySQL 的读取压力。例如说:
- 论坛帖子的访问频率比较高,且要实时更新阅读量,使用 Redis 记录帖子的阅读量,可以提升性能和并发。
- 商品信息,数据更新的频率不高,但是读取的频率很高,特别是热门商品。