首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨工作进程清除MemoryCache

问跨工作进程清除MemoryCache
EN

Stack Overflow用户
提问于 2013-10-04 20:51:13
回答 1查看 2.6K关注 0票数 1

我有一个运行在IIS7上的ASP.NET MVC应用程序,它是作为一个网络花园设置的,并且工作进程的数量与我的处理器数量相匹配。我往往会经历一些沉重的负担,这是最好的设置。

我使用System.Web.Cache实现了一些缓存。我偶尔需要使缓存中的某些项失效,但是无法清除所有进程的缓存。

.NET 4的System.Runtime.Caching特性是否使这更容易呢?这里有一个类似的问题,但我希望.NET 4. 在IIS服务器上的所有工作进程中刷新HttpRuntime.Cache对象有更好的建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-04 21:26:47

System.Web.Cache和System.Runtime.Caching提供了几乎相同的特性,它只是一个简单的内存缓存,缓存中的项可以有过期时间、依赖项等.

如果您想在多台物理机器上运行您的站点,或者在您的情况下将其作为web花园运行,那么在进程缓存中缓存数据就没有什么意义了,因为它会再次为每个进程缓存它。这会让内存消耗增长很快我想..。

在这些情况下,分布式缓存系统是最好的选择,因为所有进程都可以利用已经缓存的数据.

我在内存缓存系统中使用了两个非常流行的分布式系统,其中一个是梅卡奇,它在您的链接中也提到过。

另一个是如何使用它的app结构缓存,下面是一个很好的例子。

Memchached是一个“简单”的缓存,它一开始就不关心安全性和所有这些东西。但是它很容易实现,并且有很好的.Net客户端,它们非常容易使用,几乎就像.Net在垃圾中构建的那样。

如果您想加密您的缓存的数据传输,并且所有这些高度安全,您可能需要使用app .

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19190581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档