Redis 的 lazy free 机制解决什么问题
pren 发布于 2026-09-22
引言 在使用 Redis 时,很多开发者都遇到过这样的场景:删除一个包含数百万元素的 Hash,或者对一个大型 Set 执行 DEL 操作后,Redis 突然卡住了一两秒甚至更久,所有后续请求都被阻塞。这不是网络问题,也不是客户端问题,而是 Redis 单线程模型下大 key 删...
阅读(2)评论(0)赞 (0)
pren 发布于 2026-09-22
引言 在使用 Redis 时,很多开发者都遇到过这样的场景:删除一个包含数百万元素的 Hash,或者对一个大型 Set 执行 DEL 操作后,Redis 突然卡住了一两秒甚至更久,所有后续请求都被阻塞。这不是网络问题,也不是客户端问题,而是 Redis 单线程模型下大 key 删...
阅读(2)评论(0)赞 (0)
pren 发布于 2026-09-22
在高性能网络编程的面试中,“Reactor 与 Proactor 模式的区别及 Linux 下的落地方式”是一道高频题。很多候选人能背出“Reactor 同步非阻塞、Proactor 异步非阻塞”的结论,但一旦追问“Linux 上到底怎么实现 Proactor”“epoll 属于...
阅读(5)评论(0)赞 (0)
pren 发布于 2026-09-22
引言 Redis 作为最流行的内存数据库之一,其持久化机制一直是面试中的高频考点。AOF(Append Only File)通过记录写命令来实现持久化,但随着时间推移,AOF 文件会不断膨胀。为了解决这个问题,Redis 引入了 AOF 重写(Rewrite) 机制。而重写过程中...
阅读(4)评论(0)赞 (0)
pren 发布于 2026-09-22
在分布式系统中,多个进程或服务常常需要互斥地访问共享资源——比如扣减库存、生成全局唯一订单号、执行定时任务等。这时候,分布式锁就成了一个绕不开的话题。在 PHP 面试中,面试官经常会问:“你了解分布式锁吗?PHP 里怎么实现?Redis 和 ZooKeeper 两种方案各有什么优...
阅读(8)评论(0)赞 (0)
pren 发布于 2026-09-22
Redis 作为内存数据库,持久化机制一直是面试中的高频考点,而 AOF(Append Only File)的 fsync 策略更是核心追问点。很多候选人能背出 appendfsync 有三个取值,却说不清它们对性能和数据安全的实际影响,更无法在真实场景中做出合理选择。本文从底层...
阅读(5)评论(0)赞 (0)
pren 发布于 2026-09-22
很多同学在面试中被问到 Redis 持久化时,都能答出 RDB 和 AOF 的区别,但一旦面试官追问:“RDB 在 fork 子进程时,为什么会导致内存膨胀?” 不少人就开始含糊了。有人说是因为写时复制(CopyOnWrite)本身就会复制内存,也有人说是 fork 本身会拷贝页...
阅读(5)评论(0)赞 (0)
pren 发布于 2026-09-22
在 Linux 后端面试中,“零拷贝”几乎是一道必问题。很多候选人能背出 sendfile、mmap、splice 这几个名词,但一旦被追问“它们到底零在哪”“谁真正减少了拷贝次数”“为什么 Kafka 用 mmap 而 Nginx 用 sendfile”,回答就开始模糊。这篇文...
阅读(4)评论(0)赞 (0)
pren 发布于 2026-09-22
在 Linux 系统编程与性能优化领域,“用户态与内核态切换”是一个绕不开的核心话题。无论是后端开发、运维工程师,还是底层系统程序员,在面试中几乎都会被问到:为什么用户态和内核态切换会有开销?如何减少这种切换? 本文将从硬件机制、内核实现和工程实践三个层面,系统性地拆解这个问题。...
阅读(4)评论(0)赞 (0)
pren 发布于 2026-09-22
在 Linux 面试中,系统调用、软中断和硬中断是三个高频考点。它们分别处于不同的抽象层次,却共同构成了操作系统与硬件、用户程序与内核交互的基础。很多候选人对单个概念能说清楚,但一旦被追问“它们之间怎么协作”“谁先谁后”“谁可以睡眠”就容易卡壳。本文从面试实战角度出发,系统梳理三...
阅读(5)评论(0)赞 (0)
pren 发布于 2026-09-22
Redis 主从切换是保障高可用的核心机制,但很多开发者在使用哨兵(Sentinel)或 Cluster 时都遇到过切换后数据丢失的问题。不少人第一反应是“Redis 不可靠”,但事实上,绝大多数数据丢失都源于对异步复制模型的理解偏差,以及配置参数与业务场景不匹配。本文将从复制原...
阅读(2)评论(0)赞 (0)