- 发布与订阅的方法调用模式不同,需要创建两个redis实例进行操作,否则会报错。错误如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/5a51cbc311684997a0638a58c54d25a8.png)
- 正确的使用方法如下
const Redis = require('ioredis');
// 创建Redis连接
const redis = new Redis({
host: 'localhost',
port: 6379,
db: 0,
});
const redis2 = new Redis({
host: 'localhost',
port: 6379,
db: 0,
})
// 订阅消息
redis.on("ready", function() {
console.log("订阅成功");
redis.subscribe("dateStr");
});
// 监听消息
redis.on("message", function(channel, message) {
console.log(`我接收到信息了:${message}`);
});
// 发布消息
function task() {
redis2.publish("dateStr", Math.random().toString());
console.log("发布成功");
}
// 设置定时器,每隔1000毫秒执行一次任务
setInterval(task, 1000);
- 正确打印发布与订阅消息
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/6bfbcd80d26a45aa823ece6626df4f95.png)