我在asp.net有一个网站,有3种语言版本。我使用
将大多数常用数据缓存在缓存中HttpRuntime.Cache.Insert(key,obj)
一切正常我用一个唯一的密钥保存不同的语言数据。我创建了一个页面只是为了查看缓存数据,我可以在缓存中查看所有3个lang的所有数据。版本。但是在网站工作了2-3天之后他的郎。版本开始工作较慢,因为数据不再在缓存中。当我加载郎。版本。 1个数据在缓存中,但在2和3中,缓存页面为空。然后我加载郎。版本2数据被缓存,但版本1缓存为空。
出于某种原因,每次缓存新数据时都会推送数据。经过几次加载后,它会自行解决,但这是个问题。
该网站没有内存限制,可以占用所需的所有内存。在任务管理器中,我可以看到它高达130 MB工作集内存和高达100 MB内存专用工作集,处理程序永远不会超过600.应用程序池空闲时间设置为0 ..
另外还有一个问题..当您在地址栏中输入网站并按Enter键时,网站甚至需要一些时间才能开始加载。我知道因为在页面中缓存数据加载时间非常快..而且我的意思是快...但有时需要10秒。加载
答案 0 :(得分:0)
如果未指定时间跨度,则缓存决定何时删除项目。这可能并不总是最佳的。尝试使用可用的重载插入并指定较长的时间跨度。
public void Insert(
string key,
Object value,
CacheDependency dependencies,
DateTime absoluteExpiration,
TimeSpan slidingExpiration)
有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/4y13wyk9.aspx