Post

缓存

缓存是解决系统性能和稳定性的系统设计工具

缓存

什么是缓存

缓存是解决系统性能和稳定性的系统设计工具,提供高性能且稳定的数据源,缓存热点函数的中间状态,使得计算路径变短。

DB 泛指数据源,Cache 泛指快速路径上的局部数据源

简单来说:缓存就是数据交换的缓存区,是存贮数据的临时地方,一般读写性能较高。

缓存的作用

缓冲不仅能解决性能问题,还可以解决可靠性的问题。

你可以把它理解为是对关键路径上发数据源创建了一个副本,或者说是距离用户更近的副本。

同时我们可以利用缓存去存储一些中间计算的结果,相当于剪枝操作,加速计算。

缓存的作用:

  • 降低后端负载
  • 提高读写效率,降低响应时间

对于互联网业务来说,传统的直接访问数据库方式,主要通过数据分片、一主多从等方式来扛住读写流量。

但随着数据量的积累和流量的激增,仅依赖数据库来承接所有流量,不仅成本高、效率低、而且还伴随着稳定性降低的风险。

鉴于大部分业务通常是读多写少,甚至存在读操作数量高出写操作多个数量级的情况。因此,在架构设计中,常采用增加缓存层来提高系统的响应能力,提升数据读写性能、减少数据库访问压力,从而提升业务的稳定性和访问体验。

由于数据库持久化的特性,其读写QPS和性能相比于基于内存的Redis等缓存服务会相差很多。

例如MySQL最简单的按主键查询数据至少需要几毫秒,而Redis正常一次GET查询只需要几百微秒。

另外Redis的单机QPS相比MySQL也有明显优势,普通MySQL的QPS勉强过万,而Redis的QPS可以达到十万级别。

因此在应对大流量读或者性能敏感的场景,缓存就不得不考虑了。

缓存的成本

数据一致性成本

代码维护成本

运维成本

This post is licensed under CC BY 4.0 by the author.

Trending Tags