关于Redis缓存数据一致性问题
结云坚木 2020-06-07 01:07:30 关于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的数据,又是如何定位到并且修改的呢?求大佬赐教!