gpt4 book ai didi

.net - 与.NET Cache 系统相比,Memcached 有哪些优势?

转载 作者:行者123 更新时间:2023-12-04 00:20:07 24 4
gpt4 key购买 nike

我看到开发团队中的一些人使用 Memcached缓存数据库结果,而不是内置的 .NET Framework 缓存系统。我不明白他们为什么要使用这个特定的缓存。

也许性能更好。

无论如何,使用 Memcached(而不是 native .NET 缓存)有什么真正的优势吗?

最佳答案

Memcached 是分布式的——这意味着如果我有一组服务器访问缓存,那么它们本质上都在读取和写入同一个缓存。内置的 .Net 缓存没有这个功能(至少我知道 ASP.Net 没有)。

由于每台机器都有自己独立的缓存,这意味着(例如):

  • 如果机器 A 计算/读取一个值并将其放入缓存中,则机器 B 不会从中受益。每台机器都需要独立维护和填充自己的缓存。这也可能会浪费空间,因为许多不同机器的缓存中可能存在相同的条目。
  • 如果机器 B 使缓存条目无效,机器 A 将不会意识到这种无效,并可能继续使用陈旧/过时的数据

  • Memcached 没有这些问题——一旦一个条目被放入缓存中,集群中的所有机器都可以检索相同的缓存项。使缓存中的条目无效会使其对所有人无效。

    缺点

    如果您的应用程序需要在一组机器上运行,那么您很可能会从分布式缓存中受益,但是如果您的应用程序只需要在一台机器上运行,那么您将不会从使用分布式缓存中获得任何好处使用内置的 .Net 缓存可能会更好。
  • 访问 memcached 缓存需要进程间/网络通信,这对进程内的 .Net 缓存会有很小的性能损失。
  • Memcached 作为外部进程/服务工作,这意味着您需要在生产环境中安装/运行该服务。同样,.Net 缓存不需要此步骤,因为它们是在进程中托管的。
  • 关于.net - 与.NET Cache 系统相比,Memcached 有哪些优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7348273/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com