더북(TheBook)

15.1.8 connect-redis

멀티 프로세스 간 세션 공유를 위해 레디스와 익스프레스를 연결해주는 패키지입니다. 기존에는 로그인할 때 express-session의 세션 아이디와 실제 사용자 정보가 메모리에 저장됩니다.

따라서 서버가 종료되어 메모리가 날아가면 접속자들의 로그인이 모두 풀려버립니다. 또한, Warning: connect.session() MemoryStore is not designed for a production environment, as it will leak memory, and will not scale past a single process라는 경고 메시지도 발생합니다. 이를 해결하기 위해 세션 아이디와 실제 사용자 정보를 데이터베이스에 저장합니다. 이때 사용하는 데이터베이스가 레디스입니다. 다른 데이터베이스를 사용해도 되지만 주로 레디스를 많이 사용합니다. 메모리 기반의 데이터베이스라서 성능이 우수하기 때문입니다.

콘솔

$ npm i redis connect-redis

레디스를 사용하려면 connect-redis 패키지뿐만 아니라 레디스 데이터베이스를 설치해야 합니다. 서버에 직접 설치할 수도 있지만, 레디스를 호스팅해주는 서비스를 쓰는 것이 편리합니다. 바로 redislabs입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.