-
为什么redis与db需要一致?
redis缓存了db封装后的数据,修改db后redis数据也需要更新。 -
双删谁?
redis -
执行哪两次删除
更新db数据之前删除redis缓存键值对
更新db后延时再删除一次redis键值对 -
为什么需要延时?
避免其他读线程获取db旧数据,删除缓存在老数据写入redis之前。
线程A更新db数据后,此时有另一个B线程读取了DB老数据,准备写入redis,A线程的延时删除cache在B之前了。这样导致一个问题就是,即使二次删除cache,B线程也会写入老数据。所以延时的ttl最好大于redis写入时间。 -
延时双删是最终一致性还是强一致性?
最终一致性,高并发场景下还是会有小部分的脏数据被读取。 -
redis时候存储db什么类型的数据?
读多写少的场景
session和购物车信息这种可以
Redis与DB保持数据一致性方案
最新推荐文章于 2024-08-14 23:11:00 发布