Как сохранить часто используемые значения, не просматривая базу данных каждый раз? - PullRequest
0 голосов
/ 13 ноября 2011

Я создаю анкету и хочу сохранить количество вопросов, которые пользователь задал, и количество доступных вопросов.Я знаю, как рассчитать эти значения, но я не хочу проходить через базу данных каждый раз, когда пользователь запрашивает страницу, на которой отображается эта информация (что довольно часто).

Я подумал сохранить его в сеансе, но проблема в том, что срок сеанса истекает до аутентификации, поэтому информация может быть потеряна, но пользователь все равно будет авторизован.?

РЕДАКТИРОВАТЬ: я забыл упомянуть, что я работаю на сервере, где я не могу сам указать время ожидания сеанса.Кроме того, количество ответов на вопросы должно быть обновлено, когда пользователь отвечает на вопрос.

Ответы [ 3 ]

0 голосов
/ 13 ноября 2011

Можно рассмотреть вопрос об увеличении времени ожидания сеанса.

0 голосов
/ 13 ноября 2011
Сеансы

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

0 голосов
/ 13 ноября 2011

Очень интересный ресурс о кэшировании и ASP.NET: http://msdn.microsoft.com/en-us/magazine/gg650661.aspx

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

РЕДАКТИРОВАТЬ - согласно комментарию:

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

Другой вариант - обновить БД и сделать недействительным элемент кэша ... при следующем доступе на чтениевы получаете «промах кеша» и обрабатываете это, ударяя по БД и сохраняя результат в кеше ... таким образом вы попадаете в БД для чтения в худшем случае так же часто, как и для записи ... этот шаблон помогает, только если у васбольше читает, чем пишет ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...