缓存与数据库双写不一致问题
2023-08-22 18:30:16 1 举报
缓存与数据库双写不一致问题
作者其他创作
大纲/内容
查缓存(空)
性能优化:改成读写锁对于读多写少场景,读读不互斥
线程3
线程1
更新缓存=10
更新数据库=20
执行时间轴
删除缓存
查数据库=10
更新缓存=20
在这几处加分布式锁
线程2
更新数据库=10
查缓存为空
RReadWriteLock readWriteLock = redisson.getReadWriteLock(key);RLock readLock = readWriteLock.readLock(); //读锁readLock.lock();
构建缓存=10
RReadWriteLock readWriteLock = redisson.getReadWriteLock(key);RLock writeLock = readWriteLock.readLock(); //写锁writeLock .lock();
更新数据库=30
0 条评论
下一页