REPL.WAIT
kevy 扩展:在副本上阻塞,直到每个 shard 都应用了给定的 REPL.TOKEN(此后的读即为 read-your-writes);成功返回 +OK,超时或代际不匹配返回 -MISDIRECTED writer is <primary>。TIMEOUT 默认 1000 ms,硬上限 60 s。在主库上:立即返回 +OK。
REPL.WAIT gen offset [gen offset ...] [TIMEOUT milliseconds]
复杂度
O(S) —— 这是一道屏障,不是键空间操作;实际耗时就是复制延迟,上界由 TIMEOUT 决定(默认 1s,硬上限 60s)。
复杂度与兼容性是从 kevy 的实现里读出来的,不是抄 Redis 的文档。有几条确实不一样 —— 它们看起来像笔误,但不是。
与 Redis 的兼容性
kevy 独有
kevy 独有:等待某个 (generation, offset) 令牌被应用 —— 正是这一点让 read-your-writes 能跨故障转移成立。