延时双删策略:
public void write(String key,Object data){
redis.del(key);
db.update(data);
Thread.sleep(1000);
redis.del(key);
}
为什么要延时第二次删除?为了规避在更新数据库之前的查询操作,更新缓存造成脏数据。第一次删除是为了更新完数据库之后的查询操作能够第一时间获取到最新的缓存内容,没必要等到延时之后。