Кеширование информации об аккаунте - PullRequest
1 голос
/ 11 января 2010

В настоящее время я использую собственную реализацию членства в проекте ASP.MVC. У меня есть учетная запись, и учетная запись может иметь более 1 членства.

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

Должен ли я кешировать информацию об учетной записи? А если где будет лучшее место, печенье или сессия?

Ответы [ 2 ]

1 голос
/ 12 января 2010

Я рекомендую довольно сильно против сессий. Они не будут хорошо масштабироваться и не вписываются в веб / HTTP тип архитектуры. См. «Основные принципы REST» в этой статье REST , если вам нравится материал REST.

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

И сохраняйте конфиденциальную информацию в файле cookie проверки подлинности ASP.NET Forms. См. Статью Аутентификация с помощью форм , «Шаг 4. Хранение дополнительных данных пользователя в билете».

Получить остальные данные из базы данных. Избегайте преждевременной оптимизации .

0 голосов
/ 12 января 2010

Как часто бывает с этими вопросами, ответ «все зависит».

Файлы cookie хороши, если вы храните только небольшое количество строковых данных. Существуют ограничения (4 КБ на cookie, ограничение заголовка HTTP), и они отправляются по сети с каждым запросом и ответом. Возможно, вам придется «заново накачать» информацию о вашей учетной записи / члене из данных, хранящихся в cookie. Пользователи могут отказаться от использования файлов cookie с вашего веб-сайта.

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

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