由于缓存和数据库是分开的,无法做到原子性的同时进行数据修改,可能出现缓存更新失败,或者数据库更新失败的情况,这时候会出现数据不一致,影响前端业务。
- 先更新数据库,再更新缓存。缓存可能更新失败,读到老数据
- 先删缓存,再更新数据库。并发时,读操作可能还是会将旧数据读回缓存
- 先更新数据库,再删缓存。也存在缓存删除失败的可能
最经典的缓存+数据库读写的模式,CacheAsidePattern。
读的时候,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应。
更新的时候,先更新数据库,然后再删除缓存。
© 版权声明
本站文章由不念博客原创,未经允许严禁转载!
THE END