nodejs中使用Redis

安装教程:Redis 安装 | 菜鸟教程   

  1. redis下载链接:Release Redis for Windows 5.0.14.1 · tporadowski/redis · GitHub
  2. 解压
  3. 双击redis-server.exe启动服务器端
  4. 双击redis-cil.exe启动客户端连接服务端
  5. 在客户端看看能不能ping通  

    nodejs中使用Redis_第1张图片

 完成

遇到的问题1:Node.js 连接redis时报错:The client is closed 

nodejs中使用Redis_第2张图片

应该是你npm install 默认安装的Redis client for Node.js为V4.0.0版本,一些接口已经改变了,所以导致报错

解决方法: 回退版本

npm uninstall --save redis
npm install --save [email protected]

问题2

nodejs中使用Redis_第3张图片

redis3.2版本后新增protected-mode配置,默认是yes,即开启。设置外部网络连接redis服务,设置方式如下:

1、关闭protected-mode模式,此时外部网络可以直接访问

2、开启protected-mode保护模式,需配置bind ip或者设置访问密码

解决方法:

  1. 启动redis-cii

    nodejs中使用Redis_第4张图片
  2. redis命令行下设置 config set protected-mode no

    nodejs中使用Redis_第5张图片

方法二:修改配置文件
        Windows版的Redis有2个配置文件,一个是:redis.windows.conf,另一个是redis.windows-service.conf,但需要注意的是,Windows的Redis启动服务默认加载的配置文件是redis.windows-service.conf   如果修改了redis.windows.conf(非redis.windows-service.conf)文件上的配置,从服务自启动,配置的信息是不生效的,如密码配置和ip绑定。

  1.  找到配置文件中protected-mode yes,默认protected mode yes,需要将其改为protected-mode no
  2. 将配置文件中的bind 127.0.0.1注释掉,注意:至少有两处,仅仅注释顶部的bind是不行的。
  3. 重启

问题三:NOAUTH Authentication required这个error


nodejs中使用Redis_第6张图片

 因为redis设置了密码,我们需要使用密码来进行验证之后再来对redis客户端进行操作,否则我们没有操作redis缓存数据库的权限

解决方法:

1、启动redis-cii 

 nodejs中redis的配置文件

// 引入 redis 包
const redis = require('redis');

// 创建客户端
const client = redis.createClient({
  host: '196.120.002.225',
  port: 6379  ,
  no_ready_check: true,
  auth_pass: 123456
});

client.on('error', err => {
  console.log('Redis Client Error', err);
});


// 暴露 client 实例
module.exports = client;

2.修改配置文件

在redis根目录下找到redis.windows.conf配置文件,搜索requirepass,找到注释密码行,添加密码如下:

requirepass foobared
requirepass tenny //注意,行前不能有空格

 

你可能感兴趣的:(redis,数据库,缓存)