use lombok::{Builder, Getter, Setter}; #[derive(serde::Deserialize, serde::Serialize, Clone, PartialEq, Eq, Getter, Setter, Builder)] #[serde(default)] pub struct AppRedisSettings { pub urls: Vec, pub mode: AppRedisMode, pub connection_timeout_ms: Option, pub response_timeout_ms: Option, pub password: Option, pub database: Option, } #[derive(serde::Deserialize, serde::Serialize, Debug, Clone, PartialEq, Eq, Default)] pub enum AppRedisMode { #[default] Single, Cluster, Sentinel, } impl Default for AppRedisSettings { fn default() -> Self { Self { urls: vec!["redis://127.0.0.1:6379".to_string()], mode: AppRedisMode::default(), connection_timeout_ms: Some(2_000), response_timeout_ms: Some(5_000), password: None, database: Some(0), } } }