m0_67672429 2023-03-17 06:58 采纳率: 80%
浏览 52
已结题

node链接redis分片集群

redis版本6.2.6,node中redis包版本4.6.4,用私网搭建的集群,假如有4台,redis密码都是abc以及未设置用户名,主1公网是1.1.1.1:6379,主1私网是2.2.2.2:6379,主1从公网是3.3.3.3:6379,主1从私网是4.4.4.4:6379。主2公网是5.5.5.5:6379,主2私…,主2从公…,主2从私…,
https://github.com/redis/node-redis/blob/master/docs/clustering.md
注意集群是私网搭建的,带有密码abc以及未设置用户名,redis包版本4.6.4的node读写分离链接集群格式应该怎么写?

  • 写回答

6条回答 默认 最新

  • 谁在墙外等红杏 企业官方账号 2023-03-17 09:29
    关注

    以下是基于Node.js的读写分离链接集群代码示例,其中使用了redis包版本4.6.4:

    const Redis = require('redis');
    const cluster = require('redis-cluster');
    
    const options = {
      redisOptions: {
        password: 'abc'
      }
    };
    
    const nodes = [
      {host: '2.2.2.2', port: 6379},
      {host: '4.4.4.4', port: 6379},
      {host: '5.5.5.5', port: 6379},
      {host: '7.7.7.7', port: 6379}
    ];
    
    const clusterClient = cluster.createCluster(nodes, options);
    
    // 读取数据
    clusterClient.get('key', (err, result) => {
      console.log(result);
    });
    
    // 写入数据
    clusterClient.set('key', 'value', (err, result) => {
      console.log(result);
    });
    

    其中,options中的redisOptions对象包含了redis密码的配置。nodes数组中包含了所有节点的信息,其中第一个节点为主节点,其他为从节点。需要注意的是,私网搭建的集群无法直接通过公网访问,因此主节点和从节点的公网地址无法使用。在这种情况下,可以使用私网地址进行访问。

    同时,由于未设置用户名,因此在连接时不需要进行认证。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 3月27日
  • 已采纳回答 3月19日
  • 创建了问题 3月17日

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同