none
请教个缓存的问题 RRS feed

  • 问题

  • 不是说缓存,会在内存不足时进行释放吗?

    什么时候算是内存不足?低于多少时开始释放


    2013年7月25日 9:27

全部回复

  • 你右键Windows任务栏,查看“任务管理器”,当任务占用你内存百分比很高的时候自然就不足了,如果严重不足,还会引发“System Memory Overflow"等问题(譬如死循环或者递归死循环等)。

    所以应该多善于使用缓存。何时开始释放根据.NET框架会自行调配的,如果显示释放,请GC.Collection()


    If you think one reply solves your problem, please mark it as An Answer, if you think someone's reply helps you, please mark it as a Proposed Answer

    Help by clicking:
    Click here to donate your rice to the poor
    Click to Donate
    Click to feed Dogs & Cats


    Found any spamming-senders? Please report at: Spam Report

    2013年7月27日 6:06
  • 缓存,会在内存不足时进行释放,内存使用情况可以通过任务管理器查看,具体如何释放如下

    清理是在内存不足时从缓存中删除项的过程。如果某些项在一段时间内未被访问,或是在添加到缓存中时被标记为低优先级,则这些项会被移除。ASP.NET 使用 CacheItemPriority 对象来确定要首先清理的项。有关更多信息,请参见如何:将项添加到缓存中。

    除了清理外,在缓存项过期时,ASP.NET 会自动从缓存中移除这些项。向缓存添加项时,可以按下表中的描述设置其过期时间。

    过期类型

    说明

    可调过期

    指定某项自上次被访问后多长时间过期。例如,可以将某项设置为自上次在缓存中被访问后   20 分钟过期。

    绝对过期

    指定某项在设定的时间过期,而不考虑访问频率。例如,可以将某项设置为在   6:00 PM 过期,或四小时后过期。

    可以将缓存中某一项的生存期配置为依赖于其他应用程序元素,如某个文件或数据库。当缓存项依赖的元素更改时,ASP.NET 将从缓存中移除该项。例如,如果您的网站显示一份报告,该报告是应用程序通过 XML 文件创建的,您可以将该报告放置在缓存中,并将其配置为依赖于该 XML 文件。当 XML 文件更改时,ASP.NET 会从缓存中移除该报告。当代码请求该报告时,代码会先确定该报告是否在缓存中,如果不在,代码会重新创建该报告。因此,始终都有最新版本的报告可用。

    你可以到MSDN中国官方网站查看ASP.NET 缓存概述,链接地址 http://msdn.microsoft.com/zh-cn/library/ms178597(VS.80).aspx .

    http://www.cnblogs.com/fish-li/archive/2011/12/27/2304063.html 了解详细信息。

    2013年7月29日 1:15
    版主
  • 我主要是想知道,低于多少时才算低。

    2013年7月29日 6:38
  • 我主要是想知道,低于多少时才算低。

    2013年7月29日 6:38
  • 我主要是想知道,低于多少时才算低。


    ,NET自己控制的,你是无法直接知道的。

    If you think one reply solves your problem, please mark it as An Answer, if you think someone's reply helps you, please mark it as a Proposed Answer

    Help by clicking:
    Click here to donate your rice to the poor
    Click to Donate
    Click to feed Dogs & Cats


    Found any spamming-senders? Please report at: Spam Report

    2013年7月29日 7:58