首页 >

Redis怎么实现延时消息?

使用zset,value存放消息体,score设置成毫秒或者秒的时间戳,轮询zet中的数据,发现到了score中存储的时间戳就获取到value进行消费
redis通过zset有序集合来实现延时消息功能。可以将发送的时间作为score发送的内容作为value存储在zset中,轮询zset检查当前时间是否达成消息的发送时间,来实现延时消息的投递。
发表于 2024-10-03 15:22:13 回复(0)
使用Zset这种数据结构,将发送的时间作为score,消息作为value。轮询zset,达到发送时间即可投递消息
发表于 2025-03-15 09:27:25 回复(0)
redis实现延时队列
1.通过ZSet+轮询的方式,ZSet的value存消息,score存消息的过期时间戳,然后轮询取出【0,当前时间戳】的数据就是过期的
2.使用redisson提供的延迟队列,基于有序集合和redis发布订阅机制实现
发表于 2025-08-05 22:13:19 回复(0)
使用zset,value存放消息体,score设置成毫秒或者秒的时间戳,轮询zet中的数据,发现到了score中存储的时间戳就获取到value进行消费
发表于 2025-07-06 23:27:03 回复(0)
Redis可通过有序集合(ZSET)实现延时消息:将消息作为value,到期时间戳作为score存入ZSET。消费者轮询用ZRANGEBYSCORE获取到期消息,配合Lua脚本保证原子性获取和删除。也可结合键过期通知机制实现事件触发。
发表于 2025-06-06 16:58:45 回复(0)
Redis可通过有序集合(ZSET)实现延时消息:将消息作为value,到期时间戳作为score存入ZSET。轮询zset检查当前时间是否达成消息的发送时间,来实现延时消息的投递。
发表于 2025-05-22 20:43:47 回复(0)
redis可以通过zset实现延迟消息,将执行时间设置为score,使用定期的扫描来检查并消费到期的消息
发表于 2025-04-25 19:47:58 回复(0)
不能用Redis 的Stream 来实现吗?
发表于 2025-04-20 10:57:50 回复(0)
Redis可以通过使用zset(有序集合)来实现延时消息功能。具体来说,可以将消息的发送时间作为score,消息内容作为value存储在zset中,然后通过轮询zset,检查当前时间是否达到消息的发送时间,来实现延时消息的投递。
发表于 2025-03-20 16:14:03 回复(0)
redis的 zset有序集合来实现延时消息score作为发送的时间,内容作为value,redisson的延迟队列
发表于 2025-02-20 20:28:34 回复(0)
发表于 2024-11-27 10:10:27 回复(0)
zset,将发送的时间作为score,传输的消息作为value,轮询检查当前时间是否达到消息的发送时间,从而实现延时消息的投递
发表于 2024-11-21 17:47:39 回复(0)
使用Zset实现: 将当前时间戳作为score存入,传输的消息作为value 使用Redisson的延迟队列
发表于 2024-08-08 20:51:50 回复(0)