Я хочу кешировать пользовательские данные в приложении ASP.NET. Я помещаю в него много данных, таких как List и другие объекты.
Есть ли лучшая практика для этого? Поскольку, если я использую статические данные, если w3p.exe
умирает или перерабатывается, кэш должен быть заполнен снова.
База данных также обновляется другими приложениями, поэтому потребуется поток, чтобы удостовериться, что он соответствует самым последним данным.
Обновление 1:
Только что нашел это, что, вероятно, помогает мне
http://www.codeproject.com/KB/web-cache/cachemanagementinaspnet.aspx?fid=229034&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=2818135#xx2818135xx
Обновление 2:
Я использую DotNetNuke в качестве приложения, (:(). Я включил постоянное кэширование, и теперь все приложение чувствует себя вялым.
Например, для Multiview требуется около 3 секунд для смены вида ....
Обновление 3:
Стратегии кэширования в Интернете?
В связи с этим я использую метод кэширования DotNetNuke, который, в свою очередь, использует объект ASP.NET Cache
, он также имеет файловое кэширование.
У меня есть помощник:
CachingProvider.Instance().Add( _
(label & "|") + key, _
newObject, _
Nothing, _
Cache.NoAbsoluteExpiration, _
Cache.NoSlidingExpiration, _
CacheItemPriority.NotRemovable, _
Nothing)
Что запускается для добавления объектов в кеш, это правильно? Так как я хочу сохранить его в кеше как можно дольше. У меня есть поток, который запускается каждые х минут, который будет обновлять кэш. Но я заметил, что кеш очищается, я проверяю объект "CacheFilled" в кеше.
В качестве теста я сказал рабочему процессу не перезагружать и т. Д., Но все же, похоже, он очищает кеш. Я также изменил настройки DotNetNuke с «тяжелого» на «легкий», но думаю, что это для кеширования модуля.