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

How to config an instance (folder) inside redis database

我在 StackExchange.Redis 中使用 c#。 我用这样的东西来连接:

    var client = ConnectionMultiplexer.Connect(_appSettings["Cache:Redis:Configuration"]);
    _database = client.GetDatabase(int.Parse(_appSettings["Cache:Redis:LockProcessDB"]));

然后我通过以下方式访问设置/获取命令:

_database.StringSet(data.Key, data.Value, TimeSpan.FromSeconds(_ttl), When.NotExists, CommandFlags.None);
...

我现在需要将我的数据中不同的"sections"分到redis数据库中的不同的"folders"中。 因此,我希望 DB 7 有一个名为 Documents 的子文件夹,而不仅仅是在 DB 7 下设置值,我设置的值应该插入该文件夹下。

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

services.AddDistributedRedisCache(options =>
                {
                    options.Configuration = ConfigUtils.Instance.Get("Redis_Config", "");
                    options.InstanceName = "Documents:";
                });

然后将我的设置命令定向到 "Documents" 子文件夹。 我如何使用 StackExchange.Redis 实现该目标?

看来我没有理解Redis DB 中有关分离的重要部分。 前缀的选项和使用方式。

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

string _prefix = "documents:";

_database.StringSet(_prefix + data.Key, data.Value, TimeSpan.FromSeconds(_ttl), When.NotExists, CommandFlags.None);

达到了预期的效果。

数据在我的 redis 数据库中保存为 documents:myKey,位于名为 "documents"

的文件夹下