关于 .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