基于Redis有序集合的延时消息队列实现
目录
要求
- 由于使用有序集合的 score 充当延时时间,要求所有客户端时钟保持一致
特点
延时队列基于 Redis 的有序集合,底层是 Hash 表,所以查找和删除的时间复杂度是 O(1)。
持久化,基于 Redis 的内存持久化。
任务支持超时释放
注意
- Redis 的 Lua 脚本,返回 true 实际返回 int(1),0,1,false 都会原样返回。