我看到开发团队中有些人使用Memcached来缓存数据库结果,而不是使用内置的 .NET Framework 缓存系统。我不清楚为什么他们会选择这个特定的缓存方式。
也许性能更好。
但无论如何,使用 Memcached(而不是本地 .NET Cache)有哪些真正的优势呢?
也许性能更好。
但无论如何,使用 Memcached(而不是本地 .NET Cache)有哪些真正的优势呢?
Memcached是分布式的,关键在于这意味着如果我有一个访问缓存的服务器集群,它们都基本上从同一个缓存中读取和写入。内置的.Net缓存没有这个功能(至少我知道ASP.Net缓存没有)。
由于每台机器都有自己独立的缓存,这意味着(例如):
Memcached没有这些问题-一旦条目被放入缓存,集群中的所有机器都可以检索相同的缓存项目。使缓存中的条目失效会使所有人都无效。
缺点
如果您的应用程序需要在一组机器上运行,则很可能会从分布式缓存中受益,但是如果您的应用程序只需要在单台机器上运行,则不会从使用分布式缓存中获得任何好处,最好使用内置的.Net缓存。