c# - 在 Redis 中存储和使用配置文件的最佳方式?

标签 c# redis .net-core stackexchange.redis pcf

我有一个具有以下结构的配置文件-

"Root":{
       "Parent":{
            "Child1":{"Key1":"Value1"},
                    {"Key2":"Value2"},
                    {"Key3":"Value3"}
            "Child2":{"Key1":"Value1"},
                    {"Key2":"Value2"},
                    {"Key3":"Value3"}
               }
       }

我想将此配置存储在我的 PCF 的 Redis 实例中。我正在考虑使用 ConnectionMultiplexer 创建一个数据库说“Config”,然后将每个值与键添加为 (Root:Parent:Child[i]:Key[i]) 并为其添加相应的值[i]。 为了读取值,我可以向消费者索取 child[i] 名称和 key[i] 名称并返回 value[i]。 请建议是否有人有更好的方法来实现这一目标?配置大小可能非常大,最多可达 1000 个 child 。

最佳答案

我建议您不要使用 Redis 来存储您的配置,使用 Spring Cloud Config Server相反。

Config Server 专为存储应用程序配置而构建,它支持多种环境并跨应用程序共享通用配置。不仅如此,您还可以使用 Steeltoe's Config Server Configuration Provider通过 IConfiguration 从您的应用程序中访问配置,而无需为 Redis 编写您自己的配置提供程序或执行其他自定义操作。在 git 存储库中使用结构化文件维护配置值可能比使用 Redis 字典更容易,而且所有更改都可以轻松审计并通过 git 历史记录快速恢复。

关于c# - 在 Redis 中存储和使用配置文件的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53437106/

相关文章:

c# - 更新大型SQLite数据库

c# - 如何在 Android 中使用 C# 生成的 RSA 公钥?

javascript - 如何做 Redis 树并优化它 + Node.js

python - Scrapy 中的持久重复过滤

redis - 如何通过redis的接口(interface)连接apache ignite

c# - 如何在 Blazor 中绑定(bind)单选按钮?

c# - WPF 中的切换按钮

c# - ManualResetEventSlim.Set() 并不总是解锁任务内的等待

linux - 我如何跨 linux 服务器处理 ValidateAntiForgeryToken

web-services - 在.Net Core Web应用程序中获取移动地理位置