读取步骤
读取
- 读取数据库数据
- 成功 -> 写入缓存
- 失败 -> 不写入缓存
更新
- 更新数据库数据
- 成功 -> 将缓存标记失败, 不要写入缓存.
两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。
插入
- 插入数据库
- 成功 -> 不写入缓存.
刷新内存,以memcached为例,新增,修改和删除操作,一般采用lazy load的策略,即新增时只写入数据库,并不会马上更新Memcached,而是等到再次读取时才会加载到Memcached中,修改和删除操作也是更新 数据库,然后将Memcached中的数据标记为失效,等待下次读取时再加载。