Я только что создал хранилище памяти, как показано ниже, и прикреплен к экспресс-сессии. Но я вижу, что вызов вызывается каждый раз, когда сеанс обновляется. Есть ли способ, которым я могу сделать распоряжение событием для запуска только по истечении времени сеанса TTL.
store = new memoryStore({
checkPeriod: 30 * 1000,
dispose: function (key, value) {
console.log('DISPOSE', key, value)
}
app.use(session({
name: 'session-cookie-id',
secret: config.cookie.secret,
saveUninitialized: false,
resave: false,
rolling: true,
cookie: {
expires: new Date(Date.now() + 60000),
maxAge: 60000
},
genid: function(req) {
return uuidv4();
},
store: store.memoryStore(memoryStore)
}));
Отладка в хранилище памяти выглядит следующим образом. Каждый раз, когда приходит запрос, я вижу, как распоряжаться вызовом. Есть ли способ, которым я могу сделать метод dispose для вызова только после истечения TTL сессии.
memorystore EXPIRE "eedc07d1-3876-4a24-8dbf-80fd0573e566" ttl:60000 +5ms
DISPOSE eedc07d1-3876-4a24-8dbf-80fd0573e566 {"cookie":{"originalMaxAge":60000,"expires":"2018-08-31T16:41:11.242Z","secure":false,"httpOnly":true,"path":"/"}}
GET /user/islogged 200 16.836 ms - 4
memorystore GET "eedc07d1-3876-4a24-8dbf-80fd0573e566" +77ms
memorystore GOT {"cookie":{"originalMaxAge":60000,"expires":"2018-08-31T16:41:11.315Z","secure":false,"httpOnly":true,"path":"/"}} +0ms
memorystore GET "eedc07d1-3876-4a24-8dbf-80fd0573e566" +1ms
memorystore GOT {"cookie":{"originalMaxAge":60000,"expires":"2018-08-31T16:41:11.315Z","secure":false,"httpOnly":true,"path":"/"},"user":"user","did":[]} +0ms
memorystore GET "eedc07d1-3876-4a24-8dbf-80fd0573e566" +8ms
memorystore GOT {"cookie":{"originalMaxAge":60000,"expires":"2018-08-31T16:41:11.315Z","secure":false,"httpOnly":true,"path":"/"}} +1ms
memorystore EXPIRE "eedc07d1-3876-4a24-8dbf-80fd0573e566" ttl:60000 +8ms
DISPOSE eedc07d1-3876-4a24-8dbf-80fd0573e566 {"cookie":{"originalMaxAge":60000,"expires":"2018-08-31T16:41:11.315Z","secure":false,"httpOnly":true,"path":"/"}}
GET /docker/list/id 304 19.509 ms - -
memorystore EXPIRE "eedc07d1-3876-4a24-8dbf-80fd0573e566" ttl:60000 +71ms
DISPOSE eedc07d1-3876-4a24-8dbf-80fd0573e566 {"cookie":{"originalMaxAge":60000,"expires":"2018-08-31T16:41:11.410Z","secure":false,"httpOnly":true,"path":"/"},}