redis如何实现延时队列【面试题详解】

今天爱分享给大家带来redis如何实现延时队列【面试题详解】,希望能够帮助到大家。

延迟队列可以使用 zset(有序列表)实现,我们将消息序列化成一个字符串作为列表的value,这个消息的到期处理时间作为score。

zset会按照时间戳大小进行排序,也就是对执行时间前后进行排序,这样的话,起一个线程轮询取第一个key值,如果当前时间戳大于等于该key值的socre就将它取出来进行消费删除,就可以达到延时执行的目的, 注意不需要遍历整个Zset集合,以免造成性能浪费。

人已赞赏
数据库

如何使用Redis做异步队列【面试题详解】

2020-11-5 14:13:54

数据库

Redis 有大量的key需要设置同一时间过期 需要注意什么?【面试题详解】

2020-11-5 14:16:16

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
'); })();