更新时间:2024-02-08 GMT+08:00

通过NodeJs连接实例

本章节主要介绍使用NodeJs访问GeminiDB Redis实例的方法。

前提条件

  • 已成功创建GeminiDB Redis实例,且实例状态为“正常”。
  • 已创建弹性云服务器,创建弹性云服务器的方法,请参见《弹性云服务器快速入门》中“购买弹性云服务器”章节。
  • 如果弹性云服务器为Linux系统,该弹性云服务器上必须已经安装GCC等编译工具。
  • 创建的弹性云服务器GeminiDB Redis实例要保证区域、可用区、VPC和安全组一致。

操作步骤

  1. 获取GeminiDB Redis实例的负载均衡地址和端口。

  2. 登录弹性云服务器,具体操作请参见《弹性云服务器快速入门》中“登录弹性云服务器”。
  3. 安装NodeJs。

    • 方法一:使用如下命令安装NodeJs。

      yum install nodejs

      以CentOS(redhat系列)为例,如果是Ubuntu(debian系列),则需要使用其对应的安装命令。

    • 方法二:如果方法一安装不了,也可以通过如下方式进行安装。

      wget https://nodejs.org/dist/v0.12.4/node-v0.12.4.tar.gz --no-check-certificate ;

      tar -xvf node-v0.12.4.tar.gz;

      cd node-v0.12.4;

      ./configure;

      make;

      make install;

      以CentOS(redhat系列)为例,如果是Ubuntu(debian系列),则需要使用其对应的安装命令。

  4. NodeJs安装完成后,可执行如下命令,查看其版本号,确认NodeJs已安装成功。

    node -v

  5. 安装JS包管理工具npm。

    yum install npm

  6. 安装NodeJs redis客户端ioredis。

    npm install ioredis

  7. 编辑连接GeminiDB Redis实例的示例脚本。

    • 使用NodeJs单机SDK连接GeminiDB Redis集群
      var Redis = require('ioredis');
      // 认证用的用户名和密码直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中存放(密码应密文存放、使用时解密),确保安全;
      // 本示例以用户名和密码保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量(环境变量名称请根据自身情况进行设置)EXAMPLE_USERNAME_ENV和EXAMPLE_PASSWORD_ENV。
      var pwd = process.env.EXAMPLE_PASSWORD_ENV;
      var redis = new Redis({
        port: 8635,          // 此处为步骤1中获取到的GeminiDB Redis实例的端口。
        host: '192.xx.xx.xx',   //此处为步骤1中获取到的GeminiDB Redis实例的负载均衡地址。
        family: 4,           // 此处填写4表示IPv4,6表示IPv6。
        password: pwd,
        db: 0
      });
      redis.set('key', 'Nodejs tst ok!');
      redis.get('key', function (err, result) {
        console.log(result);
      });
    • 使用NodeJs集群SDK连接GeminiDB Redis集群
      const Redis = require("ioredis");
      // 认证用的用户名和密码直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中存放(密码应密文存放、使用时解密),确保安全;
      // 本示例以用户名和密码保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量(环境变量名称请根据自身情况进行设置)EXAMPLE_USERNAME_ENV和EXAMPLE_PASSWORD_ENV。
      var pwd = process.env.EXAMPLE_PASSWORD_ENV;
      const cluster = new Redis.Cluster([
         {
           port: 8635,          // 此处为步骤1中获取到的GeminiDB Redis实例的端口。
           host: '192.xx.xx.xx',   //此处为步骤1中获取到的GeminiDB Redis实例的负载均衡地址。
           family: 4,           // 此处填写4表示IPv4,6表示IPv6。
           password: pwd,
           db: 0
         },
       ]);
       
       cluster.set("foo", "nodejs is ok!");
       cluster.get("foo", (err, res) => {
         console.log(res);
       });

  8. 运行示例脚本,确认结果正常。

    node ioredisdemo.js