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

The*_*son 3 publish-subscribe redis node.js node-redis

我想在发布时设置 Redis 发布/订阅消息的过期时间。我如何在nodeJS中做到这一点?

var redis = require('redis');

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

发布消息的代码如上。我必须做哪些更改才能设置已发布消息的到期时间。

rsp*_*rsp 5

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

这不是 PubSub 在 Redis 中的工作方式。你可以把它想象成有点类似于事件。事件监听器可以监听事件,事件发射器可以发出事件。但事件没有过期时间的概念。有些听众要么在它发出时听它,要么不听它。对于发布者和订阅者来说也是如此。