kevy4.0

BRPOPLPUSH

阻塞版的 RPOPLPUSH:弹出 source 的尾元素,压入 destination 的头部。

BRPOPLPUSH source destination timeout
分组
列表
起始版本
1.0.0
参数个数
恰好 4 个
标志
write blocking

复杂度

服务一次是 O(1)。

复杂度与兼容性是从 kevy 的实现里读出来的,不是抄 Redis 的文档。有几条确实不一样 —— 它们看起来像笔误,但不是。

与 Redis 的兼容性

有差异

有差异:跨 shard 的搬运不是原子的 —— 元素先在 source 所属 shard 上弹出,再到 destination 所属 shard 上压入,这两步之间它哪个 list 里都不在。用 {hashtag} 把两个 key 放到同一个 shard,才能走到 Redis 那样的原子路径。

另见

BLPOPBRPOPLINDEXLLENLMOVELPOPLPOSLPUSHLRANGELREMLSETLTRIMRPOPRPOPLPUSHRPUSH

← 返回全部命令