A client must be directly provided to the RedisStore

broccoli·2021년 5월 13일
0

etc@troubleshooting

목록 보기
7/9
post-thumbnail

redis 3.x, redis 4.x 버전 사이에 변경사항이 생겨서 connect-redis를 3.x 처럼 설정해서 사용할 경우 아래와 같은 에러가 발생한다.

Error: A client must be directly provided to the RedisStore

이 에러는 참고링크를 통해서 설정을 수정하여 해결할 수 있다.

//redisClient.js
const redis = require('redis')
const Logger = require('./logger')
require('dotenv').config()

const redisClient = redis.createClient({
  host: process.env.REDIS_HOST,
  port: process.env.REDIS_PORT,
  password: process.env.REDIS_PASSWORD
})
redisClient.unref()
redisClient.on('ready', () => {
  Logger.debug('✅ redis is ready')
})
redisClient.on('connect', () => {
  Logger.debug('✅ redis is connected')
})
redisClient.on('reconnecting', () => {
  Logger.debug('✅ redis is reconnecting')
})
redisClient.on('end', () => {
  Logger.debug('✅ redis is end')
})
redisClient.on('error', (error) => {
  Logger.error(error)
})

module.exports = redisClient

//app.js
const redisClient = require('./redisClient')
store: new RedisStore({ client: redisClient })

참고링크

profile
🌃브로콜리한 개발자🌟

0개의 댓글