인프런 커뮤니티 질문&답변

D_One님의 프로필 이미지
D_One

작성한 질문수

Node.js 교과서 - 기본부터 프로젝트 실습까지

winston, helmet, hpp

질문이요

작성

·

320

0

redis 쓰면, 이런 에러가 납니다 

 

Error: A client must be directly provided to the RedisStore

코드를 똑같이 복사해도 같은 에러가 뜨네요... 

 

답변 2

4

저도 같은 문제가 있었습니다, 

https://mygumi.tistory.com/91  저는 여기 링크 참조해서 해결했네요 ㅎㅎ

1. npm i redis 명령어로 redis 모듈 추가 설치

2. 아래와 같이 명령어를 추가했습니다. (정렬이 안되서 보기가 불편합니다 ㅠ)

import redis from "redis";
var host = process.env.RedisHost;
var port = process.env.RedisPort;
var password = process.env.RedisPassword;
// 여기부터 추가 ***********
var redisClinet = redis.createClient(port, host);
var redisConnectionResult = redisClinet.auth(password, err => {
if (err) console.log(err, " 에러 발생했습니다");
});
console.log("redis 연결 결과는? - ", redisConnectionResult);
// 여기까지 추가 ***********
const RedisStore = connectRedis(session);
app.use(
session({
secret: process.env.COOKIE_PASSCODE,
resave: false,
saveUninitialized: false,
store: new RedisStore({
client: redisClinet, // 여기 부분 추가 ***********
host: process.env.RedisHost,
port: process.env.RedisPort,
pass: process.env.RedisPassword,
logErrors: true
})
})
);

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

connect redis 설치할 때 3버전으로 설치해주세요

D_One님의 프로필 이미지
D_One

작성한 질문수

질문하기