HttpRuntime.Cache什么时候会自动被清空?

xieqi 2009-06-03 02:18:09
我的程序中有一句
HttpRuntime.Cache.Insert("key", obj_hd, null, DateTime.Now.AddSeconds(180), TimeSpan.Zero);
就是obj_hd对象缓存180秒。
但是有时候,还没有超过20秒HttpRuntime.Cache["key"] == null,
怎么回事?
这种情况只有在内存消耗大的2台机器有这样的情况。
4G的物理内存,2.2G被我的程序占用了,.net就会自动把没到期的Cache清除掉?
另几台机器4G的物理内存,1.6G被我的程序占用,就没发现有没到期的Cache被清除掉的情况。

...全文
468 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lextm 2009-06-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xieqi 的回复:]
引用 2 楼 lextm 的回复:
你做的是哪一类的应用,WinForms还是ASP.NET?另外你的操作系统是32位的还是64位呢?

我是Remoting,做成的windows service,32位系统,windows 2003。

我发现.net申请内存只是总内存的60%左右。怎么提高一些啊?基本上4G内存,用到2.3左右就上不去了,在申请内存有时还会报内存异常内存不足的错误。

怎么设置可以占用到更多的内存?提高机器内存的使用效率
[/Quote]
每个进程都是有内存空间上限的。对于32位操作系统,这个上限并不大。到了2.0G就是极限了。
zhangyanyang 2009-06-04
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 tlzjff 的回复:]
关注
[/Quote]
mark
tlzjff 2009-06-04
  • 打赏
  • 举报
回复
关注
Delphi_Java_Net 2009-06-04
  • 打赏
  • 举报
回复
up
xieqi 2009-06-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lextm 的回复:]
你做的是哪一类的应用,WinForms还是ASP.NET?另外你的操作系统是32位的还是64位呢?
[/Quote]
我是Remoting,做成的windows service,32位系统,windows 2003。

我发现.net申请内存只是总内存的60%左右。怎么提高一些啊?基本上4G内存,用到2.3左右就上不去了,在申请内存有时还会报内存异常内存不足的错误。

怎么设置可以占用到更多的内存?提高机器内存的使用效率
Study_Work_2009 2009-06-03
  • 打赏
  • 举报
回复
up
gui0605 2009-06-03
  • 打赏
  • 举报
回复
使用MS的企业库来做就不会有这情况了
wuyq11 2009-06-03
  • 打赏
  • 举报
回复
Cache 在内存紧张的时候是会被移除
用Application替换
lextm 2009-06-03
  • 打赏
  • 举报
回复
你做的是哪一类的应用,WinForms还是ASP.NET?另外你的操作系统是32位的还是64位呢?

111,115

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧