Redis双写一致性

xiaojiuaigc@163.com 发布于 2024-10-25 314 次阅读


Redis双写一致性

允许延迟情况下

当修改数据库数据的同时也要同时更新缓存的数据,缓存和数据库的数据要保持一致

读操作:缓存命中,直接返回;缓存未命中查询数据库,写入缓存,设定超时时间

写操作:延时双删(有脏数据的风险)

删除缓存–>修改数据库–>延时(删除缓存)

也可以通过异步通知保证数据的最终一致性

 

一致性高的情况下

可以进行分布式锁的操作(读数据添加共享锁,写数据添加排他锁)(一致性强,性能低)

缓存中一般读多写少

共享锁:读锁readLock

排他锁:独占锁writeLock也叫,加锁之后,阻塞其他线程读写操作