提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
- 缓存延时双删
- 删除缓存重试机制
- 读取biglog异步删除缓存
- 失效模式
- 双写模式
一、延迟双删
执行流程:
- 先删除缓存
- 再更新数据库
- 休眠一会(读业务逻辑数据的耗时 + 几百毫秒),再次删除缓存。
出现的问题
假设第二次删除缓存失败了,又给key一个过期时间。当key过期后,数据自动删除,这时就导致数据不一致了。
解决方式
删除缓存重试方式解决
二、删除缓存重试机制
删除缓存重试流程
- 写请求更新数据库
- 缓存因为某些原因,删除失败
- 把删除失败的key放到消息队列
- 消费消息队列的消息,获取要删除的key
- 重试删除缓存操作