可以设置redis pub / sub消息的过期时间

我想设置过期时间来redis发布pub / sub消息。 我怎么做nodeJS?

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

上面是用来popup消息的代码。 我必须做什么修改发布的消息到期时间。

每封邮件都会立即过期,您无法更改。 为了使其工作方式不同,需要添加消息caching,在发布后将其保留一段时间,并将其重新发布给任何订阅者。

这不是PubSub在Redis中的工作方式。 你可以把它看成与事件有些相似。 事件侦听器可以侦听事件,事件发生器可以发出事件。 但没有一个事件的到期时间的概念。 有些听者或者在发射的时候听它。 发布者和订阅者也是如此。

在Redis中发布的消息不会以任何方式持续存在,所以它们没有到期时间。

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