[ Azure Redis 缓存]
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 中的所有程序使用
不影响应用程序的性能
缺点
贵
较慢
[应用程序缓存]
System.Web.HttpContext.Current.Cache["time"] = DateTime.Now;
优点
更快
免费
缺点
只能在您当前的应用中使用
影响应用程序的性能
<小时/>我真的不明白为什么应该使用 Azure Redis 缓存而不是应用程序缓存。
如果您因缓存占用过多资源而出现性能问题,您可以随时为您的应用添加更多功能,而不是扩大缓存,因为这样会更昂贵。
当您需要将 Azure Redis 缓存用于多个服务时,它非常有用,但大多数情况下我只需要缓存一项服务。
为什么应该使用 Azure Redis 缓存?
如果您觉得我忘记了一些重要的事情,请添加更多优点和缺点。
最佳答案
Redis 不仅仅是一个键/值存储。它支持很多data types像排序集、列表、哈希集、字符串等。如果您的应用程序需要使用此类内容,您将从 Redis 中受益。
如果您的应用程序要在本地访问云中的 Redis,那么在延迟方面肯定会比在本地计算机或应用程序缓存上运行 Redis 慢。
Redis 具有内置 session 状态或输出缓存提供程序,有助于快速将网站与 Azure Redis 缓存连接起来。
如果您有一个应用程序实例,应用程序缓存就可以正常工作。一旦横向扩展,您就需要一个分布式缓存。在这种情况下,VM 中的 Redis 或 Azure Redis 缓存将是您应该考虑的解决方案。
最后但并非最不重要的一点是,如果您的应用程序和 Redis 缓存位于同一个 Azure 区域,并且您遵循一些有关连接管理和连接的最佳实践,那么您的大多数请求的延迟可能会达到 1 毫秒或更短。有效负载大小。
关于asp.net-mvc - Azure Redis 缓存 VS 应用程序缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39146558/