2026-08-27 12:43:14
Redis系列相关概念解答如下:
缓存雪崩: 定义:大量缓存在短时间内同时失效,导致大量请求直接冲击数据库,数据库压力剧增,可能引发宕机。 缓解策略: 加锁排队:当缓存未命中时,对请求的key加锁,只允许一个线程访问数据库,其余线程等待。分布式环境中使用Redis分布式锁。 随机化缓存过期时间:设置缓存时添加随机过期时间,避免大量缓存同时失效。 设置二级缓存:如本地缓存,作为Redis缓存失效后的备选,加快响应速度。
缓存穿透: 定义:查询数据库和缓存均无数据,每次请求都会直接查询数据库。 解决策略: 布隆过滤器:过滤掉无效请求,减少对数据库的冲击。 空结果缓存:将空结果的缓存时间设置为较短,如35分钟,提升用户体验。
缓存击穿: 定义:某个热点缓存在某一时刻失效,大量并发请求同时到达,给数据库带来巨大压力。 解决策略: 加锁排队:缓冲请求,避免直接冲击数据库。 热点缓存永不过期:设置热点缓存为永不过期,但需及时更新数据以确保数据准确性。
缓存预热: 定义:系统启动时预存查询结果到缓存,提高用户查询速度与体验。 实现方式: 批量加载数据:系统启动时批量加载数据到缓存。 预加载频繁访问数据:对频繁访问的数据进行预加载。