Redis缓存与数据库双写一致性解决方案

Redis缓存与数据库双写一致性解决方案

1 需求起因
在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库!Redis缓存与数据库双写一致性解决方案_第1张图片
好了,我们现在引入缓存的概念,那么访问路程变成了如下:Redis缓存与数据库双写一致性解决方案_第2张图片
上面这个经典的读取缓存步骤一般没有什么问题,但是一旦涉及到数据更新:数据库和缓存更新,就容易出现缓存(Redis)和数据库间的数据一致性问题。
有以下这些不一致的场景:
1.当更新数据时,如更新某商品的库存,当前商品的库存是100,现在要更新为99,先更新数据库更改成99,然后更新缓存,发现更新缓存

你可能感兴趣的:(分布式)