面试:Redis(缓存穿透、缓存击穿、缓存雪崩、双写一致、Redis的持久化、Redis的过期策略、Redis的数据淘汰策略、Redis的分布式锁、Redis的集群方案、Redis网络模型)
问题太宽泛,我会尽量涵盖关键点。
缓存穿透:
解释:查询不存在的数据,缓存和数据库都没有,可能导致DB压力。
解决方法:使用布隆过滤器,记录所有可能的查询参数,不存在则直接拒绝。
缓存击穿:
解释:热点key过期,大量查询请求直接打到DB。
解决方法:设置较短的过期时间,并使用分布式锁或互斥锁确保只有一个线程去DB查询并更新缓存。
缓存雪崩:
解释:大量缓存同时过期,导致DB压力剧增。
解决方法:不同的key设置不同的过期时间,并且使用分布式锁或互斥锁避免大量并发请求打到DB。
双写一致性:
解释:缓存更新不一致,可能导致DB和缓存数据不同步。
解决方法:使用分布式锁或互斥锁确保同时只有一个线程更新缓存。
Redis的持久化:
解释:Redis数据持久化到磁盘。
解决方法:使用RDB或AOF持久化方案。
Redis过期键的清理策略:
解释:Redis如何处理过期键。
解决方法:惰性删除和定时任务删除策略。
- 问题太广泛,如果有其他具体问题,欢迎提问。
评论已关闭