繁体   English   中英

如何在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"]));

然后我通过以下方式访问 set / get 命令:

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

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

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

services.AddDistributedRedisCache(options =>
                {
                    options.Configuration = ConfigUtils.Instance.Get("Redis_Config", "");
                    options.InstanceName = "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在名为“文档”的文件夹下

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM