延迟双删 所谓的延迟双删,是指: 删除缓存 更新数据库 删除缓存 第一次删除缓存是因为如果数据库更新失败了,后续业务不会受到影响,因为缓存会被后续读请求更新。如果先更新数据库,再删除缓存,那么考虑到缓存删除失败,最终会导致数据不一致的问题。 从概率上来说,由于业务的复杂性,更新数据库失败的可能性更高,因此选择先删除缓存再更新数据库。 那么为什么还要第二次删除缓存呢?在情形 先删除缓存 中,读写并发会导致缓存中存在脏数据,因此通过第二次删除确保缓存最终和数据库中的数据保持一致。