命令成本与大 key 风险实验台
Redis 主线程像一条单车道:一次只让一辆命令通过。把数据规模拧大,看看谁会在收费站前排成长队。
Redis 主线程 · 单车道
命令正在进入执行阶段HGETALL处理 8,318 个元素
实时仪表 / 比较数量级
算法复杂度O(N)
预计扫描元素8,318
预计返回字节8.12 MB
主线程阻塞风险高
这一趟车道上发生了什么?
扫描全部字段 + 返回全部字段和值
更稳妥的下一步
O(1) 不等于“免费”
定位一个值可能很快,但大值仍要复制、编码并经过网络。1 个 10 MB 的值照样能挤占车道。
COUNT 只是提示
SCAN 系列不会承诺每批精确返回 COUNT 个元素,返回空批次也不代表遍历结束。
游标遍历要能去重
SCAN 在数据变化期间可能返回重复元素;只有游标回到 0 才算完成一轮,业务端需要容忍重复。
估算约定:协议开销未计入;集合交集用“最小集合规模 × 集合数”表示检查量;UNLINK 把释放工作移到后台,但异步释放队列同样不能无限堆积。