【发布时间】:2010-08-30 03:24:56
【问题描述】:
我想在 ASP.NET 应用程序中缓存自定义数据。我将大量数据放入其中,例如 List
对此有最佳实践吗?因为如果我使用静态数据,如果w3p.exe 死亡或被回收,缓存将需要再次填充。
数据库也被其他应用程序更新,因此需要一个线程来确保它是最新数据。
更新 1:
刚找到这个,可能对我有帮助
更新 2:
我使用 DotNetNuke 作为应用程序,( :( )。我启用了持久缓存,现在整个应用程序感觉迟缓。
比如一个Multiview需要大约3秒来交换视图....
更新 3:
Strategies for Caching on the Web?
与此相关的是,我正在使用 DotNetNuke 缓存方法,该方法又使用 ASP.NET Cache 对象,它还具有基于文件的缓存。
我有一个帮手:
CachingProvider.Instance().Add( _
(label & "|") + key, _
newObject, _
Nothing, _
Cache.NoAbsoluteExpiration, _
Cache.NoSlidingExpiration, _
CacheItemPriority.NotRemovable, _
Nothing)
哪个运行将对象添加到缓存中,这是正确的吗?因为我想尽可能长时间地缓存它。我有一个每 x 分钟运行一次的线程,它将更新缓存。但是我注意到,缓存被清空了,我在缓存中检查对象“CacheFilled”。
作为测试,我告诉工作进程不要回收等,但它似乎仍然清除了缓存。我还将 DotNetNuke 设置从“重”更改为“轻”,但我认为这是为了模块缓存。
【问题讨论】: