缓存一致性

Cache Aside Pattern

  • 读时,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应。
  • 更新时,先更新数据库,然后再删除缓存用到缓存才去更新缓存。)。

延时双删

先删缓存,再更新数据库

  1. 删除缓存
  2. 写数据库
  3. 延时
  4. 删除缓存

异步更新缓存

订阅MySQ的数据操作记录binlog,记录到消息队列,再更新 redis

队列

更新数据时,根据数据的唯一标识,对应到固定的队列。一个队列对应一个工作线程,每个工作线程串行拿到对应的操作,然后一条一条的执行。队列中可以过滤重复的更新请求。