2015-10-22 4 views
2

Я использую koa и паспорт, поэтому я использую промежуточное ПО koa-generic-session для обработки своих сеансов.Что такое использование хранилища сеансов?

Теперь в отличие от expressjs session промежуточного слоя нет большой ответственности в документации, как например: на стороне сервера хранения сессии по умолчанию, MemoryStore, намеренно не предназначены для производственной среды.

Предполагая MemoryStore для коа-родовым-сессии готова к использованию производства, почему бы использовать тяжелую обязанность сеанса магазина, такие как MySQL или MongoDB для сеансов, которые приходят и уходят в течение всего дня? Какие дополнительные возможности будут использовать один из них, дайте мне память MemoryStore?

ответ

2

В магазине сеансов памяти отлично работает для разработки, но у него есть пара икры для производства.

  • перезапуска сервера вызывает все сеансы, которые будут признаны недействительными, это не хорошо для пользователей вашего приложения
  • в магазине памяти не является эффективной обработки грузов на уровне производства, где есть потенциально огромное количество сессий текущих на в то же время, поэтому более эффективное хранилище лучше, чем запись на диски, часто используемые кеши. база данных будет удовлетворять всем этим качествам
+0

привет, это означает, что я должен написать что-нибудь, чтобы очистить мертвые сеансы от базы данных или это автоматическое? – mfc

+0

Нет большой причины для их очистки. Хорошо иметь записи о старых/исторических сеансах. Хотя, как только ваша таблица сеансов имеет миллионы строк, вы можете рассмотреть возможность отсечения старых, чтобы сделать ее менее громоздкой. – danneu

+0

самые старые неиспользуемые должны очищаться, чтобы избежать расширения магазина навсегда, но у меня были большие надежды на то, что реализация хранилища сеансов будет обрабатывать это автоматически для вас – pspi

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