关于Redis缓存数据一致性的问题,在网上看了一些解决方案,但是有些具体的一些执行细节一直不太明白,比如说先更新缓存再异步更新数据库这个方法,我理解的缓存是基于方法的,也就是说一个查询方法会在redis里面有一条缓存数据(以key-value的方式存储),如果先更新缓存的话,如何在redis中定位到想要更新的数据呢?
打个比方:UserMapper里面有两个查询方法A、B和一个更新方法C,方法A、B的查询结果里面都有id=1的数据,这时候缓存里面就保存的有两个key,value都有id=1的数据,如果执行C方法更新id=1的数据,按照先更新缓存的方案,是如何定位到redis中的两个key呢?如果找到了又是如何做更新的呢?如果在其他mapper中有多表查询同样用到了id=1的数据,又是如何定位到并且修改的呢?求大佬赐教!
Redis缓存一致性先更新缓存再异步更新DB具体是如何实现的呢?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
悬赏问题
- ¥100 求数学坐标画圆以及直线的算法
- ¥100 c语言,请帮蒟蒻写一个题的范例作参考
- ¥15 名为“Product”的列已属于此 DataTable
- ¥15 安卓adb backup备份应用数据失败
- ¥15 eclipse运行项目时遇到的问题
- ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
- ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
- ¥15 自己瞎改改,结果现在又运行不了了
- ¥15 链式存储应该如何解决
- ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站