Redis-缓存穿透-雪崩-击穿

前言:Redis在分布式,高并发下可能面临的问题

1.穿透

问题:利用不存在的key去攻击数据库

解决:将不存在的key,设置null值到redis缓存中

2.雪崩

问题:大量的key在同时间段全部失效,导致请求到数据库

解决:将key进行随机过期时间存储

3.击穿

问题:某个热点key在某时间失效,导致大量请求到数据库

解决:使用分布式锁保护mysql

a.利用redis setnx,getset 命令自己实现分布式锁   

参见:https://www.cnblogs.com/zhangdongfang/p/12345155.html

b.使用redisson框架,一个redis的带有juc的lock客户端实现

相关推荐