d5939db
use lombok::{Builder, Getter, Setter};
#[derive(serde::Deserialize, serde::Serialize, Clone, PartialEq, Eq, Getter, Setter, Builder)]
#[serde(default)]
pub struct AppRedisSettings {
pub urls: Vec<String>,
pub mode: AppRedisMode,
pub connection_timeout_ms: Option<u64>,
pub response_timeout_ms: Option<u64>,
pub password: Option<String>,
pub database: Option<i64>,
}
#[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),
}
}
}