나는 redis을 세션 저장소로 사용하는 노드/익스프레스 응용 프로그램을 가지고 있습니다.연결 redis가있는 노드/Express
의 만료일 인 처리에 관한 질문이 있습니다.
브라우저가 닫힐 때까지 활성 세션이 필요하므로 세션 만료 시간을 설정하지 않았습니다.
세션 쿠키가 정상적으로 작동하지만 Redis에 대한 의문점이 있습니다.
Redis DB에 저장된 몇 개의 키/값이 절대로 만료되지 않는 것으로 보입니다.
어떻게 처리해야할까요?
특정 유휴 시간과 함께 저장된 값을 삭제하도록 redis를 구성하는 방법이 있습니까?
또는 응용 프로그램 내부에서 연결 다시 연결이 호출 될 때 TTL을 설정하는 것이 좋습니다. 응용 프로그램 내부 세션의
실제 구성 :
var session = require('express-session');
var RedisStore = require('connect-redis')(session);
app.use(session({
store: new RedisStore({port:6379, host: 'localhost'}),
secret: "my-secret-here",
resave: false,
saveUninitialized: true }));
touch() 메소드는 cookie.maxAge? 하지만 세션 쿠키에는 maxAge가 설정되지 않았습니다. 브라우저가 닫히면 쿠키가 만료됩니다. 아마도 Redis DB에 저장된 데이터에 대해 TTL을 설정하고 store.touch()와 같은 것을 사용하여 TTL을 새로 고칠 수 있습니까? 올바른 내용 일 수 있습니까? – Zauker
Redis TTL 값을 설정하려고했으나 제안 된 req.session.touch() 명령이 정상적으로 작동합니다. Redis DB에 저장된 키의 Idletime을 새로 고칩니다. 고마워요. – Zauker