Redis-什么是缓存及缓存问题

  1. 1. Redis缓存
  2. 2. 为什么要理解Redis缓存问题
    1. 2.1.

Redis缓存

​ 在实际的业务场景中,Redis 一般和其他数据库搭配使用,用来减轻后端数据库的压力,比如和关系型数据库 MySQL 配合使用。
​ Redis 会把 MySQL 中经常被查询的数据缓存起来,比如热点数据,这样当用户来访问的时候,就不需要到 MySQL 中去查询了,而是直接获取Redis 中的缓存数据,从而降低了后端数据库的读取压力。

​ 如果说用户查询的数据 Redis 没有,此时用户的查询请求就会转到 MySQL 数据库,当 MySQL 将数据返回给客户端时,同时会将数据缓存到 Redis 中,这样用户再次读取时,就可以直接从 Redis 中获取数据。流程图如下所示:

​ 在使用 Redis 作为缓存数据库的过程中,有时也会遇到一些棘手问题,比如常见缓存穿透、缓存击穿和缓存雪崩。

为什么要理解Redis缓存问题

​ 在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问Mysql等数据库。这样可以大大缓解数据库的压力。

当缓存库出现时,必须要考虑如下问题:

  • 缓存穿透
  • 缓存穿击
  • 缓存雪崩
  • 缓存污染(或者满了)
  • 缓存和数据库一致性

文档地址:

https://pdai.tech/md/db/nosql-redis/db-redis-x-cache.html#%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81%E7%90%86%E8%A7%A3redis%E7%BC%93%E5%AD%98%E9%97%AE%E9%A2%98