目录

基于Redis有序集合的延时消息队列实现

要求

  • 由于使用有序集合的 score 充当延时时间,要求所有客户端时钟保持一致

特点

延时队列基于 Redis 的有序集合,底层是 Hash 表,所以查找和删除的时间复杂度是 O(1)。

持久化,基于 Redis 的内存持久化。

任务支持超时释放

注意

  • Redis 的 Lua 脚本,返回 true 实际返回 int(1),0,1,false 都会原样返回。