我想在发布时为 redis 发布/订阅消息设置过期时间。我如何在 nodeJS 中执行此操作?
var redis = require('redis');
redis.createClient().publish('some channel', 'some message', function(err) {
if (err) {
console.error('error publishing:', err);
}
});
上面是发布消息的代码。我必须做哪些更改才能为已发布的消息设置到期时间。
最佳答案
每条消息都会立即过期,您无法更改它。要使其以不同的方式工作,需要添加消息缓存,在消息发布后将它们保留一段时间,并在消息发布后将它们重新发布给任何订阅者。
这不是 PubSub 在 Redis 中的工作方式。你可以把它想象成有点类似于事件。事件监听器可以监听事件,事件发射器可以发射事件。但是没有事件到期时间的概念。一些听众要么在它发出时听它,要么不听它。发布者和订阅者也是如此。
关于node.js - 可以为 redis 发布/订阅消息设置过期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44134104/