AppFabricCache的备用和快速选项?

时间:2015-04-23 07:55:55

标签: asp.net-mvc appfabric-cache

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

1 个答案:

答案 0 :(得分:1)

根据Microsoft,Azure Cache(其Redis产品的名称)应该用于Azure上的所有开发,而不是AppFabric Cache。我认为这对Redis来说是一个相当不错的认可,如果您想将应用程序部署到Azure,这是唯一的替代方案。

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

你还应该考虑,为什么你想取代AppFabric Cache?什么对你不起作用?如果更改为其他解决方案,则可能会遇到相同的问题。

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

如何在.NET中使用Redis有大量资源。其中很多都是指Azure Cache,但如果您想自己托管Redis,则可以使用相同的代码并只更改连接字符串。

例如,在Session state with Azure Redis cache中,唯一需要进行的更改是更改配置文件中服务器的DNS名称。文章How to Use Azure Redis Cache使用第三方Redis客户端连接到Azure Redis缓存。同样,您只需要更改主机名即可连接到内部部署的Redis服务器。