如何连接到stackexchange redis中默认数据库(0)以外的其他数据库(1到15)?

rvpgvaaj  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(500)

我有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。

gzszwxb4

gzszwxb41#

检索数据库对象时,应指定数据库编号。https://stackexchange.github.io/stackexchange.redis/basics.html#using-a-redis-database数据库

相关问题