设置CACHE回收时间已经是最高了,还是会丢失,能不能在服务器上设置一下.内存设置高一些?
Dim con As DataView
If IsNothing(Cache( "config ")) Then
Cache.Add( "config ", dc.DsData( "SELECT * FROM config "), Nothing, System.Web.Caching.Cache.NoAbsoluteExpiration, Nothing, CacheItemPriority.High, Nothing)
con = New DataView(Cache( "config "))
Else
con = New DataView(Cache( "config "))
End If
不知道这样设置是不是对的?
反正我每次2-3秒刷新一下.就失效了.
服务器是2G内存.加上虚拟内存是4G..平常占用在1G左右...还是老失效!
------解决方案--------------------不要太频繁的读写CACHE,你会遇到好多你意想不到的问题
------解决方案--------------------cache 不就是为了 频繁读写才用的么。。
------解决方案--------------------当承载 ASP.NET 应用程序的 Web 服务器的运行缺少内存时,Cache 对象将有选择地清除项来释放系统内存。当向缓存添加项时,可以为其分配与缓存中存储的其他项相比较的相对优先级。在服务器处理大量请求时,分配了较高优先级值的项被从缓存删除的可能性较小,而分配了较低优先级值的项则更有可能被删除。
CacheItemPriority.NotRemovable 在服务器释放系统内存时,具有该优先级级别的缓存项将不会被自动从缓存删除。但是,具有该优先级级别的项会根据项的绝对到期时间或可调整到期时间与其他项一起被移除。