리셋 되지 말자

[express] session store 삭제 본문

NodeJS

[express] session store 삭제

kyeongjun-dev 2020. 10. 12. 17:03

session store

app.use(session({
    secret: 'sknfienf123',
    resave: false,
    saveUninitialized: true,
    store:new FileStore(),
    cookie:{maxAge:30000}
}));

위의 코드와 같이, express-session 미들웨어를 사용할 때, FileStroe() 방식을 사용해서 session들을 파일에 저장할 수 있다.

 

var fileStoreOptions = {
    path: "./sessions",
    reapInterval: 10
};

app.use(session({
    secret: 'sknfienf123',
    resave: false,
    saveUninitialized: true,
    store:new FileStore(fileStoreOptions),
    cookie:{maxAge:30000}
}));

위의 옵션은, ./sessions 경로에 저장되는 session들이 만료가 되면 10초마다 삭제를 한다는 것이다.

왜 reapInterval을 해야하냐면, session이 만료가되면 더이상 필요가 없는 session 정보인데, 계속 DB나 file에 정보가 남아서 쌓이게 된다. 그래서 필요없어진 것들을 어떻게 삭제해야 하나 알아보다가 알게 되었다.

1시간이 지나면 제거되도록 되어 있는데 서버를 한 시간 넘게 켜놓은 적이 없으니....

Comments