Каков срок службы HttpRuntime Cache (любая простая альтернатива?)
Я использовал HttpRuntime Cache для кэширования простых пользовательских настроек в собственном приложении [dasboard] asp.net, которое ежедневно используют почти 200 пользователей.
Я просто кеширую такие вещи, как условия последнего запроса, масштабы, параметры (только флажки, зависящие от других флажков и т. Д.), Чтобы когда пользователь закрывал браузер, он возвращался к точной опции панели мониторинга / отчета при следующем открытии. браузер.
Я не хочу использовать базу данных для кэширования этих значений, потому что они являются "неограниченными" и "динамическими".
В любом случае, HttpRunime Cahce работал нормально, но теперь время от времени он не работает на рабочем сервере. Есть ли подход, чтобы решить эту проблему?
2 ответа
Кэш распространяется на все приложения. Кешируете ли вы эти элементы для каждого пользователя?
Кэш периодически умирает, и вы не можете это контролировать - если вам нужны эти элементы для сохранения, кэширование БД может быть единственным способом.
Редактировать - что касается неограниченного и динамического, вы могли бы потенциально хранить их в поле XML в базе данных. Если у вас есть объект, в котором они в данный момент хранятся в кеше, его было бы относительно легко сериализовать / десериализовать из БД, если кеш пустой.
Если вы вставляете в кеш, доступны настройки времени и абсолютного срока действия, но когда пул приложений перезагружается, кеш стирается. Проверьте настройку пула приложений в IIS и посмотрите, как часто он повторяется.