Redis UNLINK vs DEL:深度解析内部机制
2025-01-21

Redis 的 UNLINK 和 DEL 命令都用于删除键,但内部实现有所不同。DEL 命令同步删除键并释放内存,而 UNLINK 命令则将键的删除操作异步化,将其放入后台队列处理。UNLINK 的“非阻塞”特性并非绝对,它会计算删除对象的成本:如果成本小于 64,则同步删除;否则异步删除。文章深入分析了 Redis 源码,解释了 UNLINK 和 DEL 命令的实现细节,包括键槽计算、两阶段解链和异步删除等机制,并探讨了 LAZYFREE_THRESHOLD 的作用。
开发