缓存的读写模式
缓存有三种读写模式:
- Cache Aside(旁路缓存)
- Read/Write Through(读写穿透)
- Write Bechind Caching(异步缓存写入)
Cache Aside
如上图所示,Cache Aside 模式中,业务应用方对于写,是更新 DB 之后,直接将 key 从 cache 中删除,然后由 DB 驱动缓存数据的更新;而对于读,是先读 cache,如果 cache 没有,则读 DB ,同时将从 DB中读取的数据回写到 cache。
这种模式的特点是,业务端处理所有数据访问细节,同时利用 Lazy 计算的思想,更新DB后,直接删除 cache 并通过 DB 更新,确保数据以 DB 结果为准,则可以大幅度降低 cache 和 DB 中数据不一致的概率。
如果没有真专门的存储服务,同时是对数据一致性要求比较高的业务,或者是缓存数据更新比较复杂的业务,这些情况都比较适合使用 Cache Aside 模式。如微博发展初期,不少业务采用这种模式,这些缓