더북(TheBook)

예제 코드에는 나와 있지 않지만, store라는 옵션도 있습니다. 현재는 메모리에 세션을 저장하도록 되어 있습니다. 문제는 서버를 재시작하면 메모리가 초기화되어 세션이 모두 사라진다는 것입니다. 따라서 배포 시에는 store에 데이터베이스를 연결해 세션을 유지하는 것이 좋습니다. 보통 레디스가 자주 쓰입니다. 레디스의 사용 방법은 11.1.6절에서 설명합니다.

req.session.name = 'zerocho';  // 세션 등록
req.sessionID;  // 세션 아이디 확인
req.session.destroy();  // 세션 모두 제거

express-session으로 만들어진 req.session 객체에 값을 대입하거나 삭제해서 세션을 변경할 수 있습니다. 나중에 세션을 한 번에 삭제하려면 req.session.destroy 메서드를 호출하면 됩니다. 현재 세션의 아이디는 req.sessionID(또는 req.session.id)로 확인할 수 있습니다. 세션을 강제로 저장하기 위해 req.session.save 메서드가 존재하지만, 일반적으로 요청이 끝날 때 자동으로 호출되므로 직접 save 메서드를 호출할 일은 거의 없습니다.