1、理解缓存使用场景及一致性问题 数据库存储通常支持完整的ACID特性,因为可靠性、持久性等因素,性能普遍不高,高并发的查询会给数据库带来压力,造成数据库系统的不稳定。同时也容易产生延…

1、理解缓存使用场景及一致性问题

数据库存储通常支持完整的ACID特性,因为可靠性、持久性等因素,性能普遍不高,高并发的查询会给数据库带来压力,造成数据库系统的不稳定。同时也容易产生延迟。 根据局部性原理,80%请求会落到20%的热点数据上,在读多写少场景,在请求数据库之前增加一层缓存非常有助提升系统吞吐量和健壮性。
存储的数据随着时间可能会发生变化,而缓存中的数据就会不一致。具体能容忍数据不一致的时间,需要具体业务具体分析,但是通常的业务,都需要做到最终一致性。

2、寻找解决方案(选择Mysql数据库,Redis作为数据缓存)

以下方案均在方案一的基础上扩展,key过期时间作为兜底。

关于数据一致性解决方案的思路流程,画了如下草图:
Test    

本文标题: 缓存使用问题 —— 缓存一致性问题解决方案

本文作者: OSChina

发布时间: 2021年04月15日 09:46

最后更新: 2025年04月03日 11:07

原始链接: https://haoxiang.eu.org/fc3a4d64/

版权声明: 本文著作权归作者所有,均采用CC BY-NC-SA 4.0许可协议,转载请注明出处!

× 喜欢就赞赏一下呗!
打赏二维码