0%

缓存更新策略

读取步骤

  1. 读取

    • 读取数据库数据
    • 成功 -> 写入缓存
    • 失败 -> 不写入缓存
  2. 更新

    • 更新数据库数据
    • 成功 -> 将缓存标记失败, 不要写入缓存.

      两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。

  3. 插入

    • 插入数据库
    • 成功 -> 不写入缓存.

刷新内存,以memcached为例,新增,修改和删除操作,一般采用lazy load的策略,即新增时只写入数据库,并不会马上更新Memcached,而是等到再次读取时才会加载到Memcached中,修改和删除操作也是更新 数据库,然后将Memcached中的数据标记为失效,等待下次读取时再加载。