1.Redis在项目中的应用
- 处理系统并发
- 提高系统性能
- 实现分布式锁
2.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中
- 利用布隆过滤器解决
- 互斥的分布式锁