C# 如何在redis数据库中配置实例(文件夹)

C# 如何在redis数据库中配置实例(文件夹),c#,redis,stackexchange.redis,C#,Redis,Stackexchange.redis,我正在将c#与StackExchange.Redis一起使用。 我用这样的东西来连接: var client = ConnectionMultiplexer.Connect(_appSettings["Cache:Redis:Configuration"]); _database = client.GetDatabase(int.Parse(_appSettings["Cache:Redis:LockProcessDB"])); 然后我通过以下方式访问set/get命令: _d

我正在将c#与StackExchange.Redis一起使用。 我用这样的东西来连接:

    var client = ConnectionMultiplexer.Connect(_appSettings["Cache:Redis:Configuration"]);
    _database = client.GetDatabase(int.Parse(_appSettings["Cache:Redis:LockProcessDB"]));
然后我通过以下方式访问set/get命令:

_database.StringSet(data.Key, data.Value, TimeSpan.FromSeconds(_ttl), When.NotExists, CommandFlags.None);
...
我现在需要将数据中的不同“部分”划分到redis数据库中的不同“文件夹”中。 因此,我希望DB7有一个名为:Documents的子文件夹,而不是仅仅在DB7下设置值,我正在设置的值应该插入到该文件夹下

在Microsoft.Extensions.Caching.Distributed for.net core解决方案的
中,他们支持这样注册它:

services.AddDistributedRedisCache(options =>
                {
                    options.Configuration = ConfigUtils.Instance.Get("Redis_Config", "");
                    options.InstanceName = "Documents:";
                });
然后将我的set命令定向到“Documents”子文件夹。
如何使用StackExchange.Redis实现这一点?

我似乎不了解Redis DB中分离的一个重要部分。 前缀的选项及其使用方法

当试图设置一个值时,我实际上可以添加一个前缀,如-

string _prefix = "documents:";

_database.StringSet(_prefix + data.Key, data.Value, TimeSpan.FromSeconds(_ttl), When.NotExists, CommandFlags.None);
达到了预期的效果

数据以
documents:myKey
的形式保存在my redis DB中名为“documents”的文件夹下