命令成本与大 key 风险实验台

Redis 主线程像一条单车道:一次只让一辆命令通过。把数据规模拧大,看看谁会在收费站前排成长队。

Redis 主线程 · 单车道

命令正在进入执行阶段
HGETALL处理 8,318 个元素

实时仪表 / 比较数量级

算法复杂度O(N)
预计扫描元素8,318
预计返回字节8.12 MB
主线程阻塞风险

这一趟车道上发生了什么?

扫描全部字段 + 返回全部字段和值

更稳妥的下一步

    O(1) 不等于“免费”

    定位一个值可能很快,但大值仍要复制、编码并经过网络。1 个 10 MB 的值照样能挤占车道。

    COUNT 只是提示

    SCAN 系列不会承诺每批精确返回 COUNT 个元素,返回空批次也不代表遍历结束。

    游标遍历要能去重

    SCAN 在数据变化期间可能返回重复元素;只有游标回到 0 才算完成一轮,业务端需要容忍重复。

    估算约定:协议开销未计入;集合交集用“最小集合规模 × 集合数”表示检查量;UNLINK 把释放工作移到后台,但异步释放队列同样不能无限堆积。