当前位置: 首页 > 编程语言 > C#

HttpRuntime.Cache可以在多个web服务器之间共享吗?分享

时间:2023-04-10 18:45:04 C#

是否可以在多个Web服务器之间共享HttpRuntime.Cache?我们有一个Web应用程序,它将所有站点数据存储在HttpRuntime.Cache中。我们现在需要在2个负载平衡的Web服务器上部署应用程序。在这种情况下,每个Web服务器都有自己的缓存,这并不理想,因为如果用户从webserver1请求数据,它会被缓存,但下一个请求可能会去webserver2,它之前的请求被缓存了,数据不会'是可用的。是否可以使用共享缓存提供程序在两个Web服务器之间共享HttpRuntime.Cache,或者在它们之间复制缓存以便在两个Web服务器上使用相同的缓存?如果是这样,我该怎么做才能解决这个问题?不,您不能共享内置的ASP.NET缓存,但您可以使用诸如memcached或AppFabric之类的东西。不,这是不可能的。您必须使用所谓的分布式缓存,例如MicrosoftAppFabric缓存或非常流行的开源产品memcached。从你的问题看来你有用户数据作为缓存?在那种情况下,我会对阿利奥斯塔德说,不要去那里!HttpRuntime缓存应该用于数据库中静态但经常使用的项目,主要目的应该是防止数据库命中,否则每次请求都会发生这种情况,无论用户是什么......所以就像组合框或certian配置中的选项settings如果你真的需要缓存用户数据,那么像上面的Memcached,Appfabric或者nvelocity这样的多层缓存适合不同的需求,只有2个web服务器说明你还不需要上面的分布式缓存框架。服务器负载是多少,限制因素是什么,CPU、RAM、网络带宽?在您的数据库或网络服务器上?其中每一个都代表一种不同的缓存策略。不要去那里。通常,缓存是仅存在于AppDomain中的静态对象。手动更新这些是一个痛苦的世界,强烈建议不要这样做。您可以使用位于服务器前面的各种缓存解决方案来实现这一点。以上是C#学习教程:IsitpossibletoshareHttpRuntime.Cacheamongmultiplewebservers?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: