缓存同步
大多数情况下,浏览器查询到的都是缓存数据,如果缓存数据与数据库数据存在较大差异,可能会产生比较严重的后果。
所以我们必须保证数据库数据、缓存数据的一致性,这就是缓存与数据库的同步。
-
-
缺点:时效性差,缓存过期之前可能不一致
-
-
-
缺点:有代码侵入,耦合度高;
-
场景:对一致性、时效性要求较高的缓存数据
异步通知:修改数据库时发送事件通知,相关服务监听到通知后修改缓存数据
-
优势:低耦合,可以同时通知多个缓存服务
-
缺点:时效性一般,可能存在中间不一致状态
-
-
商品服务完成对数据的修改后,只需要发送一条消息到MQ中。
-
解读:
-
商品服务完成商品修改后,业务直接结束,没有任何代码侵入
-
Canal监听MySQL变化,当发现变化后,立即通知缓存服务
-
缓存服务接收到canal通知,更新缓存
代码零侵入