redis 第5页

Redis 的对象共享机制和 refcount 内存管理

pren 发布于 2026-09-22

Redis 作为一款高性能的内存数据库,其内存管理机制一直是面试中的高频考点。很多开发者在使用 Redis 时,只关注它的命令和数据结构,却忽略了底层的内存管理细节。其中,对象共享机制和 refcount 引用计数是理解 Redis 内存优化的关键。本文将从底层实现出发,带你彻底...

阅读(23)评论(0)赞 (0)

Redis 的 lazy free 机制解决什么问题

pren 发布于 2026-09-22

引言 在使用 Redis 时,很多开发者都遇到过这样的场景:删除一个包含数百万元素的 Hash,或者对一个大型 Set 执行 DEL 操作后,Redis 突然卡住了一两秒甚至更久,所有后续请求都被阻塞。这不是网络问题,也不是客户端问题,而是 Redis 单线程模型下大 key 删...

阅读(21)评论(0)赞 (0)

Redis 的 AOF 重写流程和 fork 写时复制

pren 发布于 2026-09-22

引言 Redis 作为最流行的内存数据库之一,其持久化机制一直是面试中的高频考点。AOF(Append Only File)通过记录写命令来实现持久化,但随着时间推移,AOF 文件会不断膨胀。为了解决这个问题,Redis 引入了 AOF 重写(Rewrite) 机制。而重写过程中...

阅读(23)评论(0)赞 (0)

Redis 主从切换时数据丢失的场景分析

pren 发布于 2026-09-22

Redis 主从切换是保障高可用的核心机制,但很多开发者在使用哨兵(Sentinel)或 Cluster 时都遇到过切换后数据丢失的问题。不少人第一反应是“Redis 不可靠”,但事实上,绝大多数数据丢失都源于对异步复制模型的理解偏差,以及配置参数与业务场景不匹配。本文将从复制原...

阅读(22)评论(0)赞 (0)

Redis 的 RDB fork 时为什么会产生内存膨胀

pren 发布于 2026-09-22

很多同学在面试中被问到 Redis 持久化时,都能答出 RDB 和 AOF 的区别,但一旦面试官追问:“RDB 在 fork 子进程时,为什么会导致内存膨胀?” 不少人就开始含糊了。有人说是因为写时复制(CopyOnWrite)本身就会复制内存,也有人说是 fork 本身会拷贝页...

阅读(22)评论(0)赞 (0)

Redis 的 AOF fsync 策略对性能和数据安全的影响

pren 发布于 2026-09-22

Redis 作为内存数据库,持久化机制一直是面试中的高频考点,而 AOF(Append Only File)的 fsync 策略更是核心追问点。很多候选人能背出 appendfsync 有三个取值,却说不清它们对性能和数据安全的实际影响,更无法在真实场景中做出合理选择。本文从底层...

阅读(25)评论(0)赞 (0)

Redis 的 Stream 数据结构和消息队列应用

pren 发布于 2026-09-22

Redis 在 5.0 版本引入 Stream 类型,目标很明确:提供一个更完整、更可靠的消息队列原语。在此之前,开发者用 List 做队列、用 Pub/Sub 做广播,但都有明显短板。Stream 填补了持久化、消费者组、消息确认这些关键能力的空白。下面从面试常见问题出发,把 ...

阅读(25)评论(0)赞 (0)

Redis Stream 和 Kafka 在消息队列场景下的对比

pren 发布于 2026-09-22

引言 在分布式系统架构中,消息队列扮演着至关重要的角色。Redis Stream 和 Apache Kafka 是当前面试中经常被拿来对比的两个消息中间件方案。虽然二者都能实现消息的发布与消费,但在设计理念、数据持久化、吞吐能力和适用场景上存在显著差异。本文将从多个维度深入对比 ...

阅读(23)评论(0)赞 (0)

Redis 的 SDS 为什么不用 C 字符串

pren 发布于 2026-09-22

在 Redis 的源码中,有一个非常核心且常被面试官问到的数据结构——SDS(Simple Dynamic String,简单动态字符串)。Redis 没有直接使用 C 语言原生的字符串(以空字符 \0 结尾的字符数组),而是自己实现了一套动态字符串。这背后有非常充分的工程考量,...

阅读(24)评论(0)赞 (0)

Redis Bitmap 在实际业务中的使用场景

pren 发布于 2026-09-22

什么是 Redis Bitmap 在面试中,当面试官问到 Redis 的数据结构时,大多数人会脱口而出:String、List、Hash、Set、ZSet。但很少有人会主动提到 Bitmap。其实 Bitmap 并不是 Redis 独立的数据类型,它本质上是基于 String 类...

阅读(20)评论(0)赞 (0)