session 데이터를 저장하는 장소를 Session store라고 한다. express-session 모듈의 default 저장소는 MemoryStore다. 이 저장소는 휘발성이 강하고 안전성이 없기 때문에 대부분 session store를 따로 지정해서 사용한다.그 중 mysql DB에 session 객체를 저장하는 모듈인 express-mysql-session을 사용해서 express-session의 option이 어떻게 작동하는지 알아보고자 한다.
1. express-mysql-session 설치
npm install express-mysql-session
2. 기본 사용법
var express = require('express');
var app = module.exports = express();
var session = require('express-session');
var MySQLStore = require('express-mysql-session')(session);
var options = {
host: 'localhost',
port: 3306,
user: 'session_test',
password: 'password',
database: 'session_test'
};
var sessionStore = new MySQLStore(options);
app.use(session({
key: 'session_cookie_name',
secret: 'session_cookie_secret',
store: sessionStore,
resave: false,
saveUninitialized: false
}));
sessions의 테이블에 session 객체들이 자동으로 저장된다.
saveUninitialized 옵션이 false 일 경우 변동이 있는 session 객체만 저장된다.
saveUninitialized 옵션이 true 일 경우 초기화 상태의 session과 변경된 session이 같이 저장된다.
'학습' 카테고리의 다른 글
프로젝트 중 환경변수 문제 (0) | 2021.11.12 |
---|---|
sudo: npm: command not found (0) | 2021.11.10 |
Session (0) | 2021.10.23 |
express 미들웨어 CORS - configuration options (0) | 2021.10.21 |
useHistory 사용법 (0) | 2021.10.15 |