从缓存中推送数据

时间:2012-07-02 08:14:29

标签: asp.net performance caching load

我在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秒。加载

1 个答案:

答案 0 :(得分:0)

如果未指定时间跨度,则缓存决定何时删除项目。这可能并不总是最佳的。尝试使用可用的重载插入并指定较长的时间跨度。

public void Insert(
  string key,
  Object value,
  CacheDependency dependencies,
  DateTime absoluteExpiration,
  TimeSpan slidingExpiration)  

有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/4y13wyk9.aspx