我在连接字符串中声明了channelPrefix,通过使用ConfigurationOptions.Parse可以知道它已正确地从字符串中解析出了channelPrefix。我假设如果打开两个Microsoft.Extensions.Caching.StackExchangeRedis.RedisCache实例,其中每个实例都具有相同的连接字符串,但不同的channelPrefix值除外,则Redis将为这两个键维护单独的值,但事实并非如此我所看到的。当使用RedisCache的一个实例为键设置值时,可以使用相同的键从另一个实例中检索值。我是完全误解了channelPrefix是做什么的,还是我们的Redis服务器配置为不遵循channelPrefix的方式?
最佳答案
“通道”的概念(尤其是RedisChannel
类型)与pub / sub API有关,而不与keyspace DB API有关。对于您想要的东西,您需要使用.WithKeyPrefix()
获得的IDatabase
上的GetDatabase()
扩展方法。
关于redis - StackExchange Redis ChannelPrefix不确定键范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56859883/