问题描述
我正在通过 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)。
解决方法
您可能要在生产规模上为此担心,但是对于开发而言,这是没有必要的,甚至是不可取的。