我听到很多关于memcached的讨论,但是当简单地研究它时,我无法理解我可以采取什么样的优势,而不是使用好的旧Dictionary<string, object>
来缓存我的应用程序中的数据。
有人可以向我解释一下吗?
答案 0 :(得分:1)
据我所知,在阅读维基百科和memcached.org后,它有至少以下功能
类似的概念不是Dictionary<string, object>
而是HttpContext.Current.Cache
,但它仍然是不同的
答案 1 :(得分:1)
我开始研究它的原因是因为我们的应用程序在多个服务器之间进行了负载均衡:如果我使用了memcached,我可以使用它的缓存(并且一些实现似乎也有会话状态提供程序)不仅可以拆分加载所有服务器,但也要从服务器场中敲出一个进行维护或部署,同时保持其他服务器不变。
答案 2 :(得分:0)
与词典没有多大区别,只是在不同的服务器上运行。
如果您需要缓存超出ASP.NET应用程序的生命周期(可以在任何时候回收),您可能希望使用memcached。根据您需要缓存的项目的大小和数量,您可以到达IIS服务器上没有足够空间的位置。请记住,它必须运行应用程序并缓存所有项目。
在某些情况下,为应用程序创建项目缓存非常昂贵。在这些应用程序中,如果需要回收IIS,则会对其他服务(例如数据库)造成严重的痛苦。
当您开始使用memcached时,您需要考虑它如何适合您使用数据库(或其他后备存储)的方式。您需要决定是否只写入memcached并让该事件更新数据库中的内容。从经济角度来看,您应该考虑是否可以使用memcached来避免安装另一个数据库服务器的成本(假设在您的情况下构建/维护成本更高)。