BLPOP
在一个或多个 list 上做阻塞式左弹出(effect 按 LPOP 记录)。
BLPOP key [key ...] timeout
复杂度
服务一次是 O(1);阻塞挂起本身是 O(1),同一个 key 上的等待者按 FIFO 唤醒。
复杂度与兼容性是从 kevy 的实现里读出来的,不是抄 Redis 的文档。有几条确实不一样 —— 它们看起来像笔误,但不是。
与 Redis 的兼容性
有差异
有差异:多 shard 部署下,多 key 形式不遵守 Redis 的从左到右 key 优先级 —— 落在连接自身 shard 上的 key 会先于远端 key 被服务。
另见
BRPOPBRPOPLPUSHLINDEXLLENLMOVELPOPLPOSLPUSHLRANGELREMLSETLTRIMRPOPRPOPLPUSHRPUSH