缓存穿透、缓存雪崩以及缓存击穿

1. 缓存穿透

1.2 问题简述

缓存击穿就是用户请求数据在数据库对应查询结果为空时,对该结果不进行缓存,从而导致每次查询为空都会直接访问数据库

1.2 解决方法

将在数据库查询为 nullkey 也缓存起来,设置一定的过期时间,这样只会在 key 失效的额时候访问数据库,可以减轻数据库压力

2. 缓存雪崩

2.2 问题简述

在同一时间内,大量 key 失效,导致对这些 key 的访问都落在数据库上,造成数据库的庞大压力

2.2 解决方法

随机 设置 key过期时间,使得 key 失效时间均匀分布,从而分散数据库压力

3. 缓存击穿

3.2 问题简述

频繁访问的热点数据失效,导致一时间大量的热点数据访问落在数据库上,可能导致数据库崩溃

3.2 解决方法

频繁访问的热点数据可以设置为永久不失效


后续更新java+redis+springboot实现代码

发布了17 篇原创文章 · 获赞 1 · 访问量 647

猜你喜欢

转载自blog.csdn.net/c_c_y_CC/article/details/104124446