Каков срок службы HttpRuntime Cache (любая простая альтернатива?)

Я использовал HttpRuntime Cache для кэширования простых пользовательских настроек в собственном приложении [dasboard] asp.net, которое ежедневно используют почти 200 пользователей.

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

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

В любом случае, HttpRunime Cahce работал нормально, но теперь время от времени он не работает на рабочем сервере. Есть ли подход, чтобы решить эту проблему?

2 ответа

Решение

Кэш распространяется на все приложения. Кешируете ли вы эти элементы для каждого пользователя?

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

Редактировать - что касается неограниченного и динамического, вы могли бы потенциально хранить их в поле XML в базе данных. Если у вас есть объект, в котором они в данный момент хранятся в кеше, его было бы относительно легко сериализовать / десериализовать из БД, если кеш пустой.

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

Другие вопросы по тегам