# 缓存总结

# 缓存读写的几种策略

常见的策略有:

  • Cache Aside
  • Read Through
  • Write Through
  • Write Back
  • Write Around

# Cache Aside

# Write Back

client只将数据写入缓存,缓存会根据策略(可能是延时一段时间或当数据被移出缓存时)再将数据异步、批量写入到数据库中。

**适用场景:**读写密集场景。常作为计算机内部或底层的写策略,像操作系统的Page Cache、日志的异步刷盘、消息队列的异步刷盘、InnoDB引擎的写入,都采用了此策略。

**缺点:**高度依赖缓存,若缓存机器掉电,则会丢失掉部分数据。

优点:

  • write效率高,不用写数据库
  • 性能好,避免了直接写磁盘带来的随机写问题
  • 兼容低速设备,降低其负载和成本
  • 吸收负载峰值

# Write Around

在数据直接写入数据库,不写缓存。

**适用场景:**只会写一次,并且读很少或不读的情况。例如:实时日志,或聊天室消息。

**缺点:**不支持多次写入,否则会导致数据不一致。

**优点:**write时性能更高,同时由于数据较少被读取到,不占用缓存空间。

修改于: 8/11/2022, 3:17:56 PM