从Azure Redis缓存中获取数据库信息

问题描述

我正在通过 microsoft.extensions.caching.stackexchangeredis nuget v3.1软件包在Asp.Net core 3.1应用程序中使用 StackExchangeRedis 。我正在使用Azure Cache for Redis的标准层定价计划。根据文档,认情况下有16个数据库数据库为0。我想尝试在代码中尝试数据库编号。这是我在Startup.cs文件中设置的方式:

services.AddStackExchangeRedisCache(options =>
            {
                options.InstanceName = Configuration.GetValue<string>("RedisCache:InstanceName");
                options.Configurationoptions = new StackExchange.Redis.Configurationoptions
                {
                    
                    AbortOnConnectFail = false,AllowAdmin = false,Ssl = true,ConnectRetry = 3,ReconnectRetryPolicy = new LinearRetry(1500),ConnectTimeout = 5000,SyncTimeout = 5000,DefaultDatabase = 1,EndPoints = {
                        { 
                            Configuration.GetValue<string>("RedisCache:Server"),Configuration.GetValue<int>("RedisCache:Port")
                        },},Password = Configuration.GetValue<string>("RedisCache:Password"),};
            });

我看到有一个选项可以通过 DefaultDatabase 选项来自定义数据库编号。 我看过这篇文章here,但仍然不太了解用法

我是否需要考虑数据库ID,或者出于性能原因,这是azure / redis在内部处理的事情,还是从我这里提取的?在开发应用程序时是否需要担心这一点?我打算将此缓存用作应用程序的共享实例(50-100)。

解决方法

您可能要在生产规模上为此担心,但是对于开发而言,这是没有必要的,甚至是不可取的。

请参见What's the Point of Multiple Redis Databases?