본문 바로가기

programming/javascript

nodejs교과서 redis 부분 버전에 따른 에러

nodejs 교과서 redis 연동 부분에서 버전이 달라서 생기는 문제가 있었다.

책에서는 connet-redis 를 3버전으로 사용하고 있고, 내가 설치한 버전은 4버전이어서 설정을 조금 변경해주어야 했다.

 

변경 전 아래와 같은 에러가 발생했다.

A client must be directly provided to the Redisstore....

 

https://www.npmjs.com/package/redis

npm 사이트에서 내용 보고 

아래와 같이 코드를 입력하니 일단 에러 없이 잘 돌아가고 세션도 잘 유지가 되었다 ^^

 

//connet-redis 가 4버전 이상일 때 redis 패키지 설치 후 아래와 같이 입력하니 일단 돌아감

// package.json
"connect-redis": "^4.0.3",
"redis": "^2.8.0",

// app.js
const redis = require('redis');
...
const client = redis.createClient({
  host: process.env.REDIS_HOST,
  port: process.env.REDIS_PORT,
  password: process.env.REDIS_PASSWORD,
  logError: true
});
const sessionOption = {
  resave: false,
  saveUninitialized: false,
  secret: process.env.COOKIE_SECRET,
  cookie: {
    httpOnly: true,
    secure: false
  },
  store: new RedisStore({ client })
};

 

나중에 인프런에 질문 답변 내용이 있는 것을 발견했다. ㅎㅎ

https://www.inflearn.com/questions/13393