nodejs操作redis总结

2 篇文章 0 订阅
2 篇文章 0 订阅

本文总结常见的使用node操作redis服务,redis的key是唯一的,如果一个key所对应的存储类型是string,则不能再次覆盖式设置key为hash;

1、链接Redis

node 链接Redis

var RDS_PORT = 5472;
var RDS_HOST = '127.0.0.1';
var RDS_PWD = '123456';

const opts = {
    auth_pass: RDS_PWD,
  }

const redis = require('redis');
const client = redis.createClient(RDS_PORT, RDS_HOST,opts);

client.on('connect',function(){
  console.log('redis connect success!');
});
client.on('end',function(err){
  console.log('end');
});
client.on('error', function (err) {
  console.log('err' + err);
});
client.on('ready', function () {
  client.publish('testFirst', 'hi! first!');
  client.publish('testSecond', 'hi! second!');
  client.publish('message', 'hi! message!');
});

运行结果

redis connect success!

2、发布和订阅

api说明
redis.createClient(redisConfig) 创建订阅者/发布者
subscriber.subscribe(‘channel1’) 订阅者订阅频道
publisher.publish(‘channel1’, ‘msg’) 发布者发送消息到知道频道
subscriber.unsubscribe(‘channel1’) 订阅者取消订阅频道
quit() 订阅者/发布者关闭redis连接

发布订阅例子:

const redis = require("redis");
const opts = {
  auth_pass: "123456",
}
// 创建订阅者
const subscriber = redis.createClient( 5472,'127.0.0.1',opts);
// 创建发布者
const publisher = redis.createClient(5472,'127.0.0.1',opts);
// 订阅者监听消息
subscriber.on("message", function(channel, message) {
  console.log(`Sub received message in ${channel}: ${message}`);
});
// 订阅者订阅频道
subscriber.subscribe("channel1");
subscriber.subscribe("channel2");

let count = 0;

let interval = setInterval(() => {
  count ++;
  // 发布者发布消息
  publisher.publish('channel1', `${count}`);
  publisher.publish('channel2', `${count}`);
  if (count >= 3) {
    clearInterval(interval);
    // 订阅者取消订阅
    subscriber.unsubscribe("channel1");
    subscriber.unsubscribe("channel2");
    // 订阅者/发布者关闭redis连接
    subscriber.quit();
    publisher.quit();
  }
}, 1000);




 

运行结果

Sub received message in channel1: 1
Sub received message in channel2: 1
Sub received message in channel1: 2
Sub received message in channel2: 2
Sub received message in channel1: 3
Sub received message in channel2: 3

参考文献

nodejs操作redis总结 - 六石 - 博客园

nodejs redis 订阅/发布消息_BDawn的博客-CSDN博客_nodejs redis 发布订阅

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值