一 Cache Aside Pattern旁路缓存模式:
适用场景:读请求较多,应用最广泛
写操作步骤:先更新DB后删除Cache 策略 四种常用的缓存更新策略
读操作步骤:先从Cache中读,读到就返回;读不到就从DB中读数据返回;再由请求线程写入Cache.
执行操作的对象:请求线程
二 Read/Write Through Pattern读写穿透模式:
应用端认为后端是单一的存储,屏蔽复杂的结构,使应用端的代码简洁。
适用场景:服务端把Cache视为主要数据源,Cache服务分担请求线程的工作、执行DB的读写,提高并发。
写操作步骤:同步更新Cache和DB。相当于请求线程只需更新Cache,或DB,剩下的操作由Cache服务完成。
如果Cache中存在,先更新Cache,再由Cache服务自己更新DB;如果Cache中不存在,则直接更新DB。
读操作步骤:和旁路缓存模式的读操作类似,只是从缓存中读不到时,由Cache服务自己将从DB读到的数据写入缓存。
执行操作的对象:请求线程、Cache服务
三 Write Behind Pattern异步缓存写入模式:
适用场景:写请求较多,对一致性要求较低
写操作步骤:和读写穿透模式的写操作类似,只是会只更新缓存,再异步更新DB。
读操作步骤:和读写穿透模式的读操作类似。
执行操作的对象:请求线程、Cache服务
注:Redis没有提供将数据写入DB的功能