🚀
高性能
基于值缓存和快速集合优化,提供卓越的配置读取性能,支持高并发场景
# 安装核心包
dotnet add package Apq.Cfg
# 安装 YAML 支持
dotnet add package Apq.Cfg.Yaml
# 安装 Consul 支持
dotnet add package Apq.Cfg.Consul<PackageReference Include="Apq.Cfg" Version="1.0.*" />
<PackageReference Include="Apq.Cfg.Yaml" Version="1.0.*" />
<PackageReference Include="Apq.Cfg.Consul" Version="1.0.*" />using Apq.Cfg;
// 创建配置
var cfg = new CfgBuilder()
.AddJsonFile("config.json")
.AddYamlFile("config.yaml", optional: true)
.AddEnvironmentVariables()
.Build();
// 读取配置
var connectionString = cfg["Database:ConnectionString"];
var timeout = cfg.GetValue<int>("Database:Timeout");
// 绑定到强类型对象
var dbConfig = cfg.GetSection("Database").Get<DatabaseConfig>();| 类型 | 配置源 | NuGet 包 |
|---|---|---|
| 本地 | JSON | Apq.Cfg (内置) |
| 本地 | YAML | Apq.Cfg.Yaml |
| 本地 | XML | Apq.Cfg.Xml |
| 本地 | INI | Apq.Cfg.Ini |
| 本地 | TOML | Apq.Cfg.Toml |
| 本地 | 环境变量 | Apq.Cfg (内置) |
| 远程 | Consul | Apq.Cfg.Consul |
| 远程 | Redis | Apq.Cfg.Redis |
| 远程 | Apollo | Apq.Cfg.Apollo |
| 远程 | Vault | Apq.Cfg.Vault |
| 远程 | Etcd | Apq.Cfg.Etcd |
| 远程 | Zookeeper | Apq.Cfg.Zookeeper |
| 远程 | Nacos | Apq.Cfg.Nacos |