前几天遇到一个缓存问题,这样描述下:

最初,redis里面key1=value1,之后,两个线程 一和二 分别执行下图的操作,从上到下按照时间进行,1 2 3 4 5 6是执行的顺序号,从小到大依次执行

执行完成以后,缓存key1的值与数据库key1的值不一致

解决方法,第1个小步骤中不要立即失效缓存,而是设置一个缓存的失效时间t(比如t=5秒)

t>第4步+第6步的执行时间,避免出现这一问题

posted on 2017-06-30 16:56  xuqiyu  阅读(372)  评论(0编辑  收藏  举报