# 缓存总结
# 缓存读写的几种策略
常见的策略有:
- Cache Aside
- Read Through
- Write Through
- Write Back
- Write Around
# Cache Aside
# Write Back
client只将数据写入缓存,缓存会根据策略(可能是延时一段时间或当数据被移出缓存时)再将数据异步、批量写入到数据库中。
**适用场景:**读写密集场景。常作为计算机内部或底层的写策略,像操作系统的Page Cache、日志的异步刷盘、消息队列的异步刷盘、InnoDB引擎的写入,都采用了此策略。
**缺点:**高度依赖缓存,若缓存机器掉电,则会丢失掉部分数据。
优点:
- write效率高,不用写数据库
- 性能好,避免了直接写磁盘带来的随机写问题
- 兼容低速设备,降低其负载和成本
- 吸收负载峰值
# Write Around
在数据直接写入数据库,不写缓存。
**适用场景:**只会写一次,并且读很少或不读的情况。例如:实时日志,或聊天室消息。
**缺点:**不支持多次写入,否则会导致数据不一致。
**优点:**write时性能更高,同时由于数据较少被读取到,不占用缓存空间。