AppFabric 缓存的替代和快速选项?

Alternate and fast option for AppFabricCache?

我正在寻找可以替代 AppFabricCache 并提高我的 ASP.Net-MVC 应用程序性能的更好的 n 最佳解决方案。

根据 Microsoft,Azure 缓存(他们的 Redis 产品的名称)应该用于 Azure 上的所有开发,而不是 AppFabric 缓存。我认为这是对 Redis 的一个很好的认可,如果您想将应用程序部署到 Azure,这是唯一的选择。

也就是说,分布式缓存只会在特定情况下有助于提高性能:当您将应用程序部署到多机场并且需要缓存数据的一致性时。如果您只有一台机器,或者如果您想要缓存只读查找数据,它实际上会 损害 性能。网络调用总是比内存查找慢。

您还应该考虑,为什么要替换 AppFabric Cache?什么对你不起作用?如果您换成其他解决方案,您可能会遇到同样的问题。

例如,如果您在 Web 服务器上托管 AppFabric 或 Memcached,同步问题将 总是 出现。 Web 服务器和缓存在高流量期间都使用大量 CPU(和 RAM)。这将导致问题,延迟请求、超时或...同步问题。 Redis 避免了这些,因为根本没有本地缓存​​——只有一个远程内存缓存集群。

有大量关于如何在 .NET 中使用 Redis 的资源。其中很多都引用了 Azure 缓存,但如果您想自己托管 Redis,您可以使用相同的代码并简单地更改连接字符串。

例如,在Session state with Azure Redis cache the only change required is to change the server's DNS name in the configuration file. The article How to Use Azure Redis Cache中使用第三方Redis客户端连接到Azure Redis Cache。同样,您只需更改主机名即可连接到内部部署的 Redis 服务器。