redis连接超时
guojoa opened this issue · comments
redis设置无密码和有密码都测试了,都提示连接超时
2020-12-24 12:23:49,281 ERROR 21990 nodejs.ETIMEDOUTError: connect ETIMEDOUT
at Socket. (/home/guo/development/javascript/midwayjs/project/service-mw2/node_modules/_ioredis@4.19.4@ioredis/built/redis/index.js:308:37)
at Object.onceWrapper (events.js:421:28)
at Socket.emit (events.js:315:20)
at Socket.EventEmitter.emit (domain.js:486:12)
at Socket._onTimeout (net.js:483:8)
at listOnTimeout (internal/timers.js:554:17)
at processTimers (internal/timers.js:497:7)
errorno: "ETIMEDOUT"
code: "ETIMEDOUT"
syscall: "connect"
name: "ETIMEDOUTError"
启动的是哪个环境?配置 redis 的 IP 能正常访问吗
可以确定启动了,我单独创建一个项目,安装egg-redis后是正常的,以下是我的代码
import { Controller, Get, Provide } from '@midwayjs/decorator';
import { Context } from 'egg';
@provide()
@controller('/')
export class HomeController {
@get('/')
async home() {
return 'Hello Midwayjs!';
}
@get('/test')
async test(ctx:Context) {
console.log('ctx',await ctx.app.redis.get('a'));
const a = await ctx.app.redis.get('a')
return 'my test ' + a;
}
}
网页访问test方法能正常返回redis设置的值
默认是127.0.0.1,我改成localhost,或192.168.1.x。还是不行
可能需要你自行排查下哪个环节有问题。
我的也连不上Redis,都修改了也不行,不知道为啥
麻烦提供一下复现步骤
本地开发你需要修改config.local.ts这个文件