配置管理
概述
配置方式
环境变量
use std::env;
// 读取环境变量
let port = env::var("SERVER_PORT").unwrap_or("8080".to_string());
let database_url = env::var("DATABASE_URL").expect("DATABASE_URL must be set");配置文件
use serde::Deserialize;
use std::fs;
#[derive(Deserialize)]
struct Config {
server: ServerConfig,
database: DatabaseConfig,
redis: Option<RedisConfig>,
}
#[derive(Deserialize)]
struct ServerConfig {
port: u16,
host: String,
}
#[derive(Deserialize)]
struct DatabaseConfig {
url: String,
max_connections: u32,
}
// 加载配置文件
let config: Config = toml::from_str(
&fs::read_to_string("config.toml").expect("Failed to read config file")
).expect("Failed to parse config");配置管理最佳实践
分环境配置
配置验证
配置热重载
敏感信息处理
密钥管理
配置使用示例
应用配置整合
最佳实践总结
Last updated