Redis 缓存穿透、缓存击穿、缓存雪崩的区别与解决方案
pren 发布于 2026-09-22
在 Redis 面试中,缓存穿透、缓存击穿、缓存雪崩是三个高频考点。它们看似相近,实则对应不同的问题场景,解决方案也各有侧重。本文将从定义、产生原因、危害以及应对策略四个维度,逐一拆解这三个概念,帮助你在面试中从容作答,也能在实际工作中快速定位问题。 一、缓存穿透 1.1 什么是...
阅读(15)评论(0)赞 (0)
pren 发布于 2026-09-22
在 Redis 面试中,缓存穿透、缓存击穿、缓存雪崩是三个高频考点。它们看似相近,实则对应不同的问题场景,解决方案也各有侧重。本文将从定义、产生原因、危害以及应对策略四个维度,逐一拆解这三个概念,帮助你在面试中从容作答,也能在实际工作中快速定位问题。 一、缓存穿透 1.1 什么是...
阅读(15)评论(0)赞 (0)
pren 发布于 2026-09-22
在 MySQL 的面试中,索引相关的知识点几乎是必考内容。其中,回表、覆盖索引和索引下推这三个概念经常被放在一起讨论,它们共同决定了 InnoDB 存储引擎在执行查询时如何利用索引、如何减少磁盘 I/O,从而影响 SQL 的整体性能。本文将从底层原理出发,结合具体示例,把这三个机...
阅读(17)评论(0)赞 (0)
pren 发布于 2026-09-22
在 Redis 的面试中,HyperLogLog 是一个高频考点。它常被用来解决“海量数据的基数统计”问题,比如统计每天访问网站的独立 IP 数、搜索关键词的独立用户数等。相比使用 Set 或 Hash 存储每一个元素,HyperLogLog 最大的优势在于:用极小的内存(12K...
阅读(16)评论(0)赞 (0)
pren 发布于 2026-09-22
一、为什么需要 MGR 在传统 MySQL 高可用方案中,异步复制和半同步复制是主流选择。异步复制存在主库宕机后从库数据丢失的风险;半同步复制虽然通过 AFTERSYNC 模式提升了数据安全性,但在超时退化为异步后仍然无法保证一致性。更重要的是,这两种方案都面临一个核心痛点:主库...
阅读(16)评论(0)赞 (0)
pren 发布于 2026-09-22
在分布式系统中,多个进程或服务实例常常需要互斥地访问共享资源。Redis 凭借其高性能和原子命令,成为实现分布式锁的热门选择。然而,从简单的 SETNX 到 Redlock 算法,再到社区对其安全性的激烈争论,Redis 分布式锁的演进充满了工程上的权衡。本文将从面试题的角度,梳...
阅读(14)评论(0)赞 (0)
pren 发布于 2026-09-22
在 MySQL 的日常开发和面试中,主键索引(PRIMARY KEY)和唯一索引(UNIQUE KEY)经常被放在一起比较。两者都能保证列值的唯一性,但在底层结构、性能表现和数据一致性约束上存在本质区别。理解这些差异,不仅能帮你应对面试,更能指导实际表结构设计。 一、概念回顾:它...
阅读(16)评论(0)赞 (0)
pren 发布于 2026-09-22
如果你在面试中被问到 Redis 的缓存淘汰策略,大概率会听到这样的回答:“Redis 支持 LRU 和 LFU,可以通过 maxmemorypolicy 配置。”但真正拉开差距的追问往往是:为什么 Redis 不直接用标准的 LRU 或 LFU,而是搞了一套“近似 LRU”和“...
阅读(15)评论(0)赞 (0)
pren 发布于 2026-09-22
面试题解析:Redis GEO 的底层实现原理 在面试中,当被问到“Redis 如何实现地理位置计算”时,很多候选人第一反应是“用了 GeoHash”。这个答案不算错,但远远不够。面试官真正想考察的是:你能否从数据结构、编码方式、查询流程到误差控制,完整地讲清楚 Redis GE...
阅读(18)评论(0)赞 (0)
pren 发布于 2026-09-22
Redis 作为最流行的内存数据库之一,其高性能的核心在于数据全部存储在内存中。但内存资源有限,如何管理过期数据和内存不足时的数据淘汰,就成了 Redis 必须解决的关键问题。这也是面试中高频出现的考点,下面我们系统梳理一下。 一、过期键的删除策略 当我们使用 EXPIRE、PE...
阅读(16)评论(0)赞 (0)
pren 发布于 2026-09-22
Redis Cluster 是 Redis 官方提供的分布式解决方案,它通过分片(sharding)将数据分散到多个节点上,同时利用集群总线(cluster bus)和 Gossip 协议实现节点间的状态同步与故障检测。理解 cluster bus 和 Gossip 协议,是掌握...
阅读(31)评论(0)赞 (0)