2016-06-25 3 views
1

Я использую connect-mongo и express-sessions для хранения своих сеансов для своего приложения.Собрание сессий Connect-mongo слишком велико

Я установил это 2 дня назад. Сегодня я проверил коллекцию своих сессий и выяснил, что там было более 200 000 документов! Я попытался удалить свою коллекцию и подождать 60 секунд, и там было уже 200 документов.

Почему документы сохраняются, хотя у меня есть resave, установленный на false? Кажется, что если документы сохраняются до бесконечности ...

Вот моя текущая конфигурация:

app.use(session({ 
    secret: config.secret, 
    resave: false, 
    saveUninitialized: false, 
    unset: 'destroy', 
    store: new MongoStore({ 
     mongooseConnection: mongoose.connection, 
     touchAfter: 3600, //Restore once every hour 
     autoRemove: 'interval', 
     autoRemoveInterval: 60 //Remove after one hour 
    }) 
})); 

В лучшем случае я бы только около 3 пользователей с помощью моего приложения на данный момент.

ответ

1

Так его 2 номер один является то, что вы слишком много сессии другой, что ваши сеансы не удаляются

Это может быть, что ваши клиенты делают запросы, которые не сохраняют SESSIONID в печенье. Поэтому при каждом запросе создается новый документ.

Также проверьте, есть ли у вас индекс TTL в базе данных mongodb.

Смежные вопросы