Azure Redis缓存VS应用程序缓存



[Azure Redis Cache]

ConnectionMultiplexer connection = ConnectionMultiplexer.Connect(string.Format("{0},abortConnect=false,ssl=true,password={1}", "reditCacheEndpoint", "reditCachePassword"));
IDatabase cache = connection.GetDatabase();
cache.StringSet("time", DateTime.Now, TimeSpan.FromMinutes(30));

优点

可从Azure中的所有程序中获得

不影响应用程序的性能

缺点

昂贵

[Application Cache]

System.Web.HttpContext.Current.Cache["time"] = DateTime.Now;

优点

自由

缺点

只能在当前应用中使用

影响应用程序的性能


我真的不明白为什么你应该使用Azure Redis缓存而不是应用程序缓存。

如果由于缓存占用太多资源而导致性能问题,您可以随时为应用程序添加更多功能,而不是扩展缓存,这将更昂贵。

Azure Redis Cache是很好的,当你需要使用它为多个服务,但大多数情况下,我只需要缓存一个服务。

为什么我应该使用Azure Redis缓存?

请添加更多的优点&如果你觉得我忘了什么重要的事情,那就反对。

Redis不仅仅是一个键/值存储。它支持许多数据类型,如有序集、列表、哈希集、字符串等。如果你的应用程序需要使用这样的东西,你会从Redis中受益。

如果你的应用程序要在本地访问云中的Redis,它必然比在本地机器或应用程序缓存上运行Redis要慢。

Redis有内置的会话状态或输出缓存提供程序,可以帮助您快速将您的网站与Azure Redis缓存连接起来。

如果应用程序只有一个实例,应用程序缓存就可以正常工作。一旦将其扩展,就需要一个分布式缓存。在这种情况下,Redis在虚拟机或Azure Redis缓存将是一个解决方案,你应该考虑。

最后,但并非最不重要的是,如果你的应用程序和Redis缓存在同一个azure区域,如果你遵循一些连接管理和有效负载大小的最佳实践,你可以得到大约1毫秒或更少的延迟。

你应该使用Redis,因为它不仅可以缓存你的对象,还可以缓存你的页面输出。此外,Redis是在Azure服务器上复制的,这意味着在重新启动或任何其他问题的情况下,你不会丢失状态。我强烈建议使用Redis Cache (Azure Redis Cache或虚拟机内的Redis)

最新更新