-
当读取缓存的时候,如果缓存里没有相关数据,则执行相关的业务逻辑,构造缓存数据存入到缓存系统;
-
当与缓存项相关的资源有变动,则先删除相应的缓存项,然后再对资源进行更新,这个时候,即使是资源更新失败,也是没有问题的。
当请求删除了缓存, 另外一个请求会去数据库查询, 数据又加载老的数据到了缓存了, 这个时候就需要使用 redition 分布式锁去隔离数据
- 数据库延时双删除的情况下, 我们的业务并不需要分库, 延时双删策略就是先删除缓存,再更新数据库,再异步过一小段时间后删除缓存(时间取决于MySQL主从同步的时间)。
网友评论