如何保证数据库与缓存的一致性?

由于缓存和数据库是分开的,无法做到原子性的同时进行数据修改,可能出现缓存更新失败,或者数据库更新失败的情况,这时候会出现数据不一致,影响前端业务。

图片[1]-如何保证数据库与缓存的一致性?-不念博客
  • 先更新数据库,再更新缓存。缓存可能更新失败,读到老数据
  • 先删缓存,再更新数据库。并发时,读操作可能还是会将旧数据读回缓存
  • 先更新数据库,再删缓存。也存在缓存删除失败的可能

最经典的缓存+数据库读写的模式,CacheAsidePattern。

读的时候,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应。

更新的时候,先更新数据库,然后再删除缓存。

© 版权声明
THE END