首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以设置redis发布/订阅消息的过期时间

可以设置redis发布/订阅消息的过期时间
EN

Stack Overflow用户
提问于 2017-05-23 19:53:59
回答 2查看 3.2K关注 0票数 1

我想在发布时为redis pub/sub消息设置过期时间。如何在nodeJS中实现?

代码语言:javascript
复制
var redis = require('redis');

redis.createClient().publish('some channel', 'some message', function(err) {  
  if (err) {
    console.error('error publishing:', err);
  }
});

上面是推送消息的代码。要设置已发布消息的过期时间,我必须做哪些更改。

EN

回答 2

Stack Overflow用户

发布于 2017-05-23 21:22:34

每条消息都会立即过期,您无法更改它。要让它以不同的方式工作,需要添加消息的缓存,在消息发布后将它们保留一段时间,并将它们重新发布给任何在发布后订阅的订阅者。

这不是PubSub在Redis中的工作方式。您可以将其视为与事件有些相似。事件侦听器可以侦听evets,事件发射器可以发出事件。但是没有事件的到期时间的概念。一些侦听器要么在发出时侦听它,要么不侦听它。发布者和订阅者也是如此。

票数 3
EN

Stack Overflow用户

发布于 2017-05-23 20:54:46

Redis中发布的消息不会以任何方式持久化,因此它们没有过期时间。

这样做的另一个后果是,如果特定消息没有任何订阅者,则该消息将丢失。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44134104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档