Skip to main content

Module config

Module config 

Source
Expand description

分层配置系统:支持文件 → 环境变量 → 程序化覆盖的合并策略。

§配置来源优先级(从低到高)

  1. ConfigBuilder 默认值 — Builder 自带的默认值
  2. TOML 文件Config::from_file("config.toml")
  3. 环境变量CC_MYSQL_<name>_<field>=value 格式
  4. 程序化覆盖ConfigBuilder::with_mysql() / with_redis()

§环境变量格式

CC_MYSQL_<NAME>_HOST=127.0.0.1
CC_MYSQL_<NAME>_PORT=3306
CC_MYSQL_<NAME>_USER=root
CC_MYSQL_<NAME>_PASSWORD=secret
CC_MYSQL_<NAME>_DATABASE=mydb
CC_MYSQL_<NAME>_MAX_CONNECTIONS=10
CC_MYSQL_<NAME>_SSL_MODE=preferred

CC_REDIS_<NAME>_URL=redis://localhost:6379

Structs§

Config
整个配置:多个命名 MySQL / Redis 连接。
ConfigBuilder
分层配置构建器,支持文件 → 环境变量 → 程序化覆盖。
MysqlConfig
单个 MySQL 连接的配置。
MysqlConfigBuilder
MySQL 单连接构建器,提供链式 API。
RedisConfig
单个 Redis 连接的配置。
RedisConfigBuilder
Redis 单连接构建器。

Traits§

IntoMysqlName
MySQL 连接名的抽象,用户可为枚举实现此 trait 以获得编译时检查。
IntoRedisName
Redis 连接名的抽象,用户可为枚举实现此 trait 以获得编译时检查。
Validate
配置项验证。Config::build() 会自动调用。