数据库 redis如何实现延时队列【面试题详解】 2020-11-5 14:14:57 爱分享 取消关注 关注 私信 今天爱分享给大家带来redis如何实现延时队列【面试题详解】,希望能够帮助到大家。 延迟队列可以使用 zset(有序列表)实现,我们将消息序列化成一个字符串作为列表的value,这个消息的到期处理时间作为score。 zset会按照时间戳大小进行排序,也就是对执行时间前后进行排序,这样的话,起一个线程轮询取第一个key值,如果当前时间戳大于等于该key值的socre就将它取出来进行消费删除,就可以达到延时执行的目的, 注意不需要遍历整个Zset集合,以免造成性能浪费。 相关推荐: Pipeline有什么好处,为什么要用pipeline?【面试题详解】 Redis有哪些数据结构【最新最详细】 Memcache与Redis的区别都有哪些【详细讲解】 赞赏 人已赞赏 Redis延时队列