问题-Error: connect ECONNREFUSED ::1:6379

915 阅读1分钟

问题描述:nodejs连接redis出现Error: connect ECONNREFUSED ::1:6379报错

源代码redis.js:

// 引入redis
const redis = require('redis') 
// 创建客户端  
const redisClient = redis.createClient()
//连接redis
redisClient.connect();
//监听是否连接成功
redisClient.on('err', err => {
//   console.log('redis client error: ', err);
  console.log("连接失败");
})
redisClient.on('ready',function(err){
  console.log("连接成功");
});
//向redis增加键值
redisClient.set("name", "zxq");
redisClient.set("age", 21);
//从redis获取键值
redisClient.get('name').then(val => {
   console.log(val)
})

出现报错:

image.png

解决方式

在源代码中的创建客户端处添加url参数

代码redis.js更正:

// 引入 redis
const redis = require('redis') 
// 创建客户端  
const redisClient = redis.createClient({url: 'redis://127.0.0.1:6379'})
//连接redis
redisClient.connect();
//监听是否连接成功
redisClient.on('err', err => {
//   console.log('redis client error: ', err);
  console.log("连接失败");
})
redisClient.on('ready',function(err){
  console.log("连接成功");
});
//向redis增加键值
redisClient.set("name", "zxq");
redisClient.set("age", 21);
//从redis获取键值
redisClient.get('name').then(val => {
   console.log(val)
})

结果

image.png