日期:2014-05-18  浏览次数:20421 次

关于 .Net 的 Cache,问题很多。
一讲   Cache,就是   ASP.NET   中用于保持状态的基于服务器的方法。

ASP.NET   的   Cache   是保存在哪个进程的?

如果要大量使用   ASP.NET   的   Cache,但是网上找了篇参考文章,说到“IIS在默认情况下,只能使用800M内存(IIS6.0也一样)。   ”

但是服务器内存有4G,那岂不是浪费?

如何把   Cache   存到另外的进程,然后让   ASP.NET   使用他!

------解决方案--------------------
帮顶,关注
------解决方案--------------------
每个AppDomain对象都会创建Cache类的一个实例,并且在AppDomain对象启动和运行之后,该Cache实例将一直保持有效。
为避免出现内在问题,应限制可用于IIS的内在总数,一般将可用于IIS的内在总数设置为物理内存的60%,介是应小于Microsoft民推荐的800M.在频繁使用输出缓存时,必须设置IIS6.0的“Maximum Used Memory”参数。应为每个应用程序池设置该参数,即根据应用程序的配置,在IIS6.0中选择运行它的应用程序池,然后打开该池的“属性”对话框,并设置该参数。
缓存是一个双刃剑,如果滥用或误用,很可能成为一个致命的缺点,当它超过一个合理的上限,除影响性能以外,还会引起安全问题,如拒绝服务DoS攻击会在WEB服务器的内存中填充大量无用的数据。要构建高性能的应用程序,一个基本的指导原则是“尽可能多的进行缓存”。然而一定不要超过缓存的上限。
------解决方案--------------------
对,有时候你使用缓存太多了,会出现你意想不到的问题!
------解决方案--------------------
一讲 Cache,就是 ASP.NET 中用于保持状态的基于服务器的方法。
————————————————————————————————————————
类型System.Web.Caching.Cache 是在.net framework底层的,并且它自动根据内存情况释放缓存的数据。既然缓存中的数据随时可能丢失,它就不是真正用于保持状态,而仅仅是缓存状态的。

Cache大小上限跟IIS内存限制没有关系。

也许有人并不使用 System.Web.Caching.Cache,而是自己仅凭理论去虚构一种 Cache,甚至把ViewState、Session、应用程序的静态变量或者别的什么叫做Cache,这就不得而知了。“ASP.NET 中用于保持状态的基于服务器的方法”就很难判断出到底是在说什么东西,因为asp.net中有很多东西保持状态,甚至你首先要说明什么是状态?然后才能说明如何保持状态。
------解决方案--------------------
帮顶
------解决方案--------------------
不错,学到一些东西,

------解决方案--------------------
学习
------解决方案--------------------

------解决方案--------------------
关注,学习,帮顶,接分
------解决方案--------------------
帮顶!
------解决方案--------------------
帮顶 没有用过Cache
------解决方案--------------------
关注~~~
------解决方案--------------------
帮顶,关注
------解决方案--------------------
only mark
------解决方案--------------------
up
------解决方案--------------------
Cache大小上限跟IIS内存限制没有关系
你可以在代码中声明一个自定义的Cache来使用

------解决方案--------------------

------解决方案--------------------
不知道lz写的程序需要多大缓存
------解决方案--------------------
Cache真是一个好东西,我做的项目没一个少了它的。

再说了,800M还不够存东西么?一般的项目能用到100M就已经是不得了的数据量了。难道真想把海量数据来做缓存?
------解决方案--------------------

详细解说IIS运用程序池以及运用程序池回
http://www.dj9158.com/ReadCode/406.html

看看这个吧,或许有用
------解决方案--------------------
不一定非要用Cache API的,也可以使用页面缓存和控件缓存,这些缓存都是使用kernel级缓存的。效率比较高。
如果非要缓存大量数据的话,建议用单独缓存服务器。sourceforge上有开源Memorycache