wqbala 2020-03-08
前言: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客户端实现