目录
一、前言
在讨论缓存和数据库的一致性问题之前,我们首先要明白:
-
写请求只写数据库
-
读请求先读缓存,如果缓存不存在,则从数据库读取,并重建缓存
-
同时,写入缓存中的数据,都设置失效时间
二、更新缓存
再来看数据一致性问题。
当数据发生更新时,我们不仅要操作数据库,还要一并操作缓存。具体操作就是,修改一条数据时,不仅要更新数据库,也要连带缓存一起更新。
但数据库和缓存都更新,又存在先后问题,那对应的方案就有 2 个:
-
先更新缓存,后更新数据库
-
先更新数据库,后更新缓存
哪个方案更好呢?
<