
缓存读写删除,要注意的几个点:
1 修改缓存时用删除,别用set,因为在特殊情况下会出现不一致
2 先改数据库再删除缓存

并发写时,写操作1,写操作2过来,但是写缓存2先执行,再执行的缓存1,这样就会导致缓存的数据是旧的
!!!谈谈缓存不一致
什么时候会出现缓存一致
答:主从同步或者主主同步时。比如:修改操作过来时,在还没有同步到从库时,从库先收到了缓存的读请求,这时,缓存里面就会保存了旧数据
根本原因是由于数据库冗余必将引发数据不一致的问题
怎么解决???
答:1 异步法:记录到从库的写请求,然后启动一个异步任务,当从库收到写请求之后把此条数据的缓存给删除掉(这里怎么知道删除掉缓存的key呢)
2 服务法:我们估算出500ms,是主从同步的时间,那么去服务端删除缓存时,再发起一个延时500ms之后,再一次删除缓存的任务

二:设置缓存key的失效时间
浙公网安备 33010602011771号