3 个回答
延时双删策略基本思路是:在写库前后都进行redis.del(key)操作,并且设定合理的超时时间。
具体步骤如下:
具体步骤如下:
1、先删除缓存
2、再写数据库
3、休眠xxx毫秒(根据具体的业务时间来定)
4、再次删除缓存
发布于:3个月前 (02-08) IP属地:四川省
结合双删策略+缓存超时设置,这样最差的情况就是:
1、在缓存过期时间内发生数据存在不一致
2、同时又增加了写请求的耗时。
发布于:3个月前 (02-08) IP属地:四川省
具体该休眠多久时间呢?
1、需要评估自己的项目的读数据业务逻辑的耗时。
2、这么做的目的,就是确保读请求结束,写请求可以删除读请求造成的缓存脏数据。
3、当然这种策略还要考虑redis和数据库主从同步的耗时。
4、最后的的写数据的休眠时间:则在读数据业务逻辑的耗时基础上,加几百ms即可。
比如:休眠1秒。
发布于:3个月前 (02-08) IP属地:四川省
我来回答
您需要 登录 后回答此问题!