Redis连接到127.0.0.1:6379失败 - 连接ECONNREFUSED

Huy*_*ran 119 javascript session redis node.js express

我通过expressjs使用node.js
我尝试将帐户存储到会话中.所以,我尝试测试使用session中的代码与expressjs

var RedisStore = require('connect-redis')(express);
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({ secret: "keyboard cat", store: new RedisStore }));
Run Code Online (Sandbox Code Playgroud)

但我得到了错误Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED.
请帮我解决这个问题

pig*_*ack 207

安装redis后,从终端输入:

redis-server
Run Code Online (Sandbox Code Playgroud)

你会有redis在运行

  • `redis-server --daemonize yes`在后台运行 (5认同)
  • 谢谢.愚蠢如何在教程中他们从未提及如何启动redis服务器! (4认同)
  • 对我来说,我应该指定conf,所以我输入>>(sudo)redis-server /etc/redis/redis.conf (3认同)

Vla*_*pak 55

我以下一个方式解决了这个问题:

sudo apt-get install redis-server
Run Code Online (Sandbox Code Playgroud)

然后运行命令确认一切正常:

sudo service redis-server status
Run Code Online (Sandbox Code Playgroud)

输出将是:redis-server is running- 这意味着问题得到解决.


Par*_*Roy 27

首先在系统上安装redis -

brew install redis
Run Code Online (Sandbox Code Playgroud)

然后启动redis服务器 -

redis-server
Run Code Online (Sandbox Code Playgroud)

  • brew services启动redis比较好 (4认同)

Jae*_*ung 21

对于那些使用 docker 与 docker-compose 和 Typescript 的人来说,我的解决方案是

import { RedisClient } from 'redis';

 const pubClient = new RedisClient({ url: 'redis://redis:6379' });
Run Code Online (Sandbox Code Playgroud)

import { createClient } from 'redis';

const pubClient = createClient({ url: 'redis://redis:6379' });
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml

version: '3.9'

services:
  main:
    build:
      context: .
      target: development
    ports:
      - ${PORT}:${PORT}
    volumes:
      - ./src:/usr/src/app/src
      - /app/node_modules
    env_file:
      - .env
    command: npm run start:dev
    depends_on:
      - mongo
      - redis
  mongo:
    image: mongo:5.0.2-focal
    volumes:
      - mongo-data:/data/db
  mongo-express:
    image: mongo-express:0.54.0
    ports:
      - 8081:8081
    depends_on:
      - mongo
  redis:
    image: redis:6.2.5-alpine

volumes:
  mongo-data:
Run Code Online (Sandbox Code Playgroud)


Fel*_*lix 15

我在Windows上,不得不从这里安装Redis 然后运行redis-server.exe.

这个SO问题的顶部.


Sha*_*pta 9

简单的解决方案:

仅点击以下命令一次,然后重新启动服务器

redis-server
Run Code Online (Sandbox Code Playgroud)


dec*_*283 6

使用 Windows 10? 转到这里: https: //learn.microsoft.com/en-us/windows/wsl/wsl2-install

然后跑...

    $ wget https://github.com/antirez/redis/archive/5.0.5.tar.gz <- change this to whatever Redis version you want (https://github.com/antirez/redis/releases)
    $ tar xzf redis-5.0.5.tar.gz
    $ cd redis-5.0.5
    $ make
Run Code Online (Sandbox Code Playgroud)


Bar*_*KIN 5

对于 Windows 用户,可以使用 Chocolatey 来安装 Redis

choco install redis-64
Run Code Online (Sandbox Code Playgroud)

然后从运行服务器

C:\ProgramData\chocolatey\lib\redis-64\redis-server.exe
Run Code Online (Sandbox Code Playgroud)