node.js - 可以为 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);
  }
});

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

最佳答案

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

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

关于node.js - 可以为 redis 发布/订阅消息设置过期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44134104/

相关文章:

c# - Nservicebus 不在 msmq 中存储订阅者

html - jekyll 服务(本地)无需构建

caching - 无法连接到 redis ://localhost:6379/0: Error 99 connecting to localhost:6379. 无法分配请求的地址

redis - 我可以在 Redis 中使用一个订阅者模式订阅多个主机(和集群)吗?

c# - 如何在不需要任何管理员参与的情况下使用发布/订阅?

php - Predis 别名分片

javascript - 对象数组排序不起作用

node.js - 永远忽略killSignal

javascript - 子进程生成返回 NaN

python - 什么是最好用作队列 : Redis, Mysql,Python 列表