我有 3 个应用程序指向单个 redis 端点。我想为每个应用程序使用单独的 redis 数据库。但是当我尝试在 ConfigurationOption 中将 defaultDatabase 设置为 1 或 2 时,它仍在使用数据库 0。我正在使用 stackexchange redis。代码如下:
var configurationOptions = new ConfigurationOptions
{
EndPoints = { "myredis.redis.cache.windows.net" },
Password = "xxxxxxxxxxxxxxxxxxx",
Ssl = true,
ConfigurationChannel = "MyRedis",
ChannelPrefix = "MR",
DefaultDatabase = 1,
};
var connectionMultiplexer = ConnectionMultiplexer.Connect(configurationOptions);
var cacheClient = new StackExchangeRedisCacheClient(connectionMultiplexer, new JilSerializer(), database: 1);
现在使用 ICacheClient 添加新的缓存键
var user = new User()
{
Id = 100,
Name = "John Doe"
};
var response = cacheClient.Add("mykey", user);
然后从缓存中检索添加的密钥
var addedUser= cacheClient.Get<string>("mykey");
有什么我做错了吗?理想情况下,按照配置选项中的说明,它应该将密钥存储到 db1,但它存储到 db0。