redis学习笔记(3)|缓存读写策略

96 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第3天。

今天学习 Redis 缓存读写策略相关知识。

常见 Redis 缓存策略有以下四种:

  1. Cache Aside 旁路缓存
  2. Read Through 读穿透
  3. Write Throug 写穿透
  4. Write Behind 异步缓存写入

这些缓存读写策略各有优劣,没有最佳策略。通常需要我们根据具体的业务场景选择更适合的策略。下面对其分别进行介绍。

一、 Cache Aside 旁路缓存

简单来说,旁路缓存就是指 Redis 作为缓存,只能被动的被调用,这是一种最常见的缓存模式。旁路缓存的读取操作一般为:

  1. 在缓存中查找数据,若查找到则直接返回。
  2. 若未查找到,在数据库中继续查找并返回。
  3. 将所查找到的数据存入缓存。

只读类型的旁路缓存的写操作为(注意顺序):

  1. 将数据直接写入数据库。
  2. 删除缓存中存在的相应数据。

二、 Read/Write Through 读/写穿透

读写穿透中缓存为主要的数据存储。读取操作一般为:

  1. 从缓存中查找数据,查找到就直接返回。
  2. 若未查找到,先从数据库中加载,写入缓存后响应。

写操作步骤为:

  1. 在缓存中查找,缓存中不存在该数据,直接更新数据库。
  2. 缓存中存在该数据,则先更新缓存,然后缓存服务自己更新数据库。

三、 Write Behind 异步缓存写入

异步缓存比较少见,它和写入和读/写穿透相似,两者都是由缓存服务来负责缓存和数据库的读写。但是,两个又有很大的不同:读/写穿透是同步更新缓存和数据库,而异步缓存写入则是只更新缓存,不直接更新是数据库,而是改为异步批量的方式来更新数据库。