1.Redis在项目中的应用

  • 处理系统并发
  • 提高系统性能
  • 实现分布式锁

2.Redis的应用模型

redis作为缓存层存储热点数据,解决并发问题
Redis专题:缓存雪崩+缓存击穿+缓存穿透

3. Redis常见问题

3.1 缓存雪崩

redis中的存储的热点数据有一定的有效期,未来某一时刻这些数据会被redis清空,如果热点数据集体失效,那么所有的请求都会打向Mysql,轻则影响用户体验,重则导致Mysql服务器宕机该问题就是被称为缓存雪崩

  • 同一时期缓存的数据集体失效
  • redis服务器宕机
3.1.1 缓存雪崩解决方案
1. 同一时期缓存的数据集体失效

对缓存中数据设置随机到期时间缓存,可以有效的解决同一时期数据集体失效,请求打向数据库带来的压力

2. redis服务器宕机
  • 设置多级缓存
  • 搭建redis服务器集群

3.2 缓存击穿

所有用户请求请求redis某条热门数据,如果该条数据挂掉,所有的请求都会打向Mysql该问题称为缓存击穿

3.3 缓存穿透

对于一些相对冷门数据,redis中未存储,所以请求会越过redis直接去Mysql中查,该问题称为缓存穿透

3.3.1 缓存击穿解决方案
  • Mysql中数据回写到redis中
  • 利用布隆过滤器解决
  • 互斥的分布式锁

相关文章: