Node.js 可以设置redis发布/订阅消息的过期时间
我想在发布时设置redis发布/订阅消息的过期时间。我如何在nodeJS中完成它Node.js 可以设置redis发布/订阅消息的过期时间,node.js,redis,publish-subscribe,node-redis,Node.js,Redis,Publish Subscribe,Node Redis,我想在发布时设置redis发布/订阅消息的过期时间。我如何在nodeJS中完成它 var redis = require('redis'); redis.createClient().publish('some channel', 'some message', function(err) { if (err) { console.error('error publishing:', err); } }); 上面是pusblish消息的代码。要设置已发布邮件的过期时间,我
var redis = require('redis');
redis.createClient().publish('some channel', 'some message', function(err) {
if (err) {
console.error('error publishing:', err);
}
});
上面是pusblish消息的代码。要设置已发布邮件的过期时间,我必须做哪些更改 在Redis中发布的消息不会以任何方式持久化,因此它们没有过期时间
这样做的另一个后果是,如果没有特定消息的订阅者,消息将丢失。在Redis中发布的消息不会以任何方式持久化,因此它们没有过期时间
这样做的另一个后果是,如果没有特定消息的订阅者,则消息将丢失。每条消息都将立即过期,您无法更改它。要使其以不同的方式工作,需要添加消息缓存,在消息发布后将其保留一段时间,并在消息发布后将其重新发布到订阅的任何订阅者
这不是PubSub在Redis中的工作方式。你可以把它想象成有点类似于事件。事件侦听器可以侦听事件,事件发射器可以发出事件。但并没有关于事件过期时间的概念。某些侦听器要么在它发出时侦听,要么不侦听。发布者和订阅者也是如此。每封邮件都会立即过期,您无法更改它。要使其以不同的方式工作,需要添加消息缓存,在消息发布后将其保留一段时间,并在消息发布后将其重新发布到订阅的任何订阅者 这不是PubSub在Redis中的工作方式。你可以把它想象成有点类似于事件。事件侦听器可以侦听事件,事件发射器可以发出事件。但并没有关于事件过期时间的概念。某些侦听器要么在它发出时侦听,要么不侦听。出版商和订阅者也是如此