Redis 延迟双删策略的原理和局限性
pren 发布于 2026-09-22
在高并发系统中,缓存与数据库的一致性始终是一个绕不开的话题。只要使用了缓存,就必然面临“数据库更新了,缓存怎么办”的问题。Redis 延迟双删(Delayed Double Delete)是工程实践中经常被提及的一种方案,也是面试中的高频考点。很多候选人能说出“先删缓存、再更新数...
阅读(3)评论(0)赞 (0)
pren 发布于 2026-09-22
在高并发系统中,缓存与数据库的一致性始终是一个绕不开的话题。只要使用了缓存,就必然面临“数据库更新了,缓存怎么办”的问题。Redis 延迟双删(Delayed Double Delete)是工程实践中经常被提及的一种方案,也是面试中的高频考点。很多候选人能说出“先删缓存、再更新数...
阅读(3)评论(0)赞 (0)
pren 发布于 2026-09-22
在 MySQL 运维和面试中,“大表加字段、加索引”是一个高频且经典的场景。一张几千万甚至上亿行的表,直接执行 ALTER TABLE 往往意味着长时间锁表、主从延迟飙升,甚至业务不可用。因此,理解不同在线 DDL 方案的原理、适用场景和风险,是后端开发与 DBA 的必备技能。 ...
阅读(3)评论(0)赞 (0)
pren 发布于 2026-09-22
在 MySQL 的高可用架构中,主从复制是最核心的基础组件。然而,默认的异步复制存在一个致命缺陷:主库提交事务后立即返回客户端,不等待从库确认。一旦主库崩溃,尚未传输到从库的事务就会永久丢失。为了解决这个问题,MySQL 先后引入了半同步复制和无损复制机制,在数据安全与性能之间寻...
阅读(2)评论(0)赞 (0)
pren 发布于 2026-09-22
面试题背景 在高并发系统中,缓存穿透是一个经典且高频的面试考点。所谓缓存穿透,是指客户端请求查询一个数据库中不存在的数据,由于缓存中也没有这条数据,每次请求都会直接打到数据库上。如果这类请求被恶意利用(例如伪造大量不存在的 ID 发起攻击),数据库可能在短时间内承受巨大压力甚至被...
阅读(4)评论(0)赞 (0)
pren 发布于 2026-09-22
在 Redis 面试中,缓存穿透、缓存击穿、缓存雪崩是三个高频考点。它们看似相近,实则对应不同的问题场景,解决方案也各有侧重。本文将从定义、产生原因、危害以及应对策略四个维度,逐一拆解这三个概念,帮助你在面试中从容作答,也能在实际工作中快速定位问题。 一、缓存穿透 1.1 什么是...
阅读(3)评论(0)赞 (0)
pren 发布于 2026-09-22
在 MySQL 的面试中,索引相关的知识点几乎是必考内容。其中,回表、覆盖索引和索引下推这三个概念经常被放在一起讨论,它们共同决定了 InnoDB 存储引擎在执行查询时如何利用索引、如何减少磁盘 I/O,从而影响 SQL 的整体性能。本文将从底层原理出发,结合具体示例,把这三个机...
阅读(5)评论(0)赞 (0)
pren 发布于 2026-09-22
在 Redis 的面试中,HyperLogLog 是一个高频考点。它常被用来解决“海量数据的基数统计”问题,比如统计每天访问网站的独立 IP 数、搜索关键词的独立用户数等。相比使用 Set 或 Hash 存储每一个元素,HyperLogLog 最大的优势在于:用极小的内存(12K...
阅读(4)评论(0)赞 (0)
pren 发布于 2026-09-22
一、为什么需要 MGR 在传统 MySQL 高可用方案中,异步复制和半同步复制是主流选择。异步复制存在主库宕机后从库数据丢失的风险;半同步复制虽然通过 AFTERSYNC 模式提升了数据安全性,但在超时退化为异步后仍然无法保证一致性。更重要的是,这两种方案都面临一个核心痛点:主库...
阅读(4)评论(0)赞 (0)
pren 发布于 2026-09-22
在分布式系统中,多个进程或服务实例常常需要互斥地访问共享资源。Redis 凭借其高性能和原子命令,成为实现分布式锁的热门选择。然而,从简单的 SETNX 到 Redlock 算法,再到社区对其安全性的激烈争论,Redis 分布式锁的演进充满了工程上的权衡。本文将从面试题的角度,梳...
阅读(3)评论(0)赞 (0)
pren 发布于 2026-09-22
在 MySQL 的日常开发和面试中,主键索引(PRIMARY KEY)和唯一索引(UNIQUE KEY)经常被放在一起比较。两者都能保证列值的唯一性,但在底层结构、性能表现和数据一致性约束上存在本质区别。理解这些差异,不仅能帮你应对面试,更能指导实际表结构设计。 一、概念回顾:它...
阅读(2)评论(0)赞 (0)