pub struct RedisHaConfig {
pub topology: RedisTopology,
pub nodes: Vec<String>,
pub master_name: Option<String>,
pub request_timeout_ms: u64,
}Expand description
Redis HA and multi-region config (SCALE-11, #248). Embedded in each Redis-backed config block (rate limiter, quotas, cache) to control the connection topology and per-request timeout.
Fields§
§topology: RedisTopologyDeployment topology (default single).
nodes: Vec<String>Additional node URLs for sentinel or cluster mode. For
sentinel, these are the Sentinel node URLs (e.g.
redis://sentinel-1:26379). For cluster, these are the
cluster node URLs (any subset of the cluster’s nodes; the
client discovers the rest). When empty, the url field on
the parent config is used as the sole node.
master_name: Option<String>The master name for sentinel mode (the master_name in
Sentinel config). Required when topology = sentinel; ignored
otherwise.
request_timeout_ms: u64Per-request timeout in milliseconds (default 500; validated to 50..=30 000). Applied to each Redis command (Lua script calls, GET/SET for cache). A timed-out command is treated as a backend error and the fail-open policy applies. 0 means no per-request timeout (use the connection’s default).
Trait Implementations§
Source§impl Clone for RedisHaConfig
impl Clone for RedisHaConfig
Source§fn clone(&self) -> RedisHaConfig
fn clone(&self) -> RedisHaConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RedisHaConfig
impl Debug for RedisHaConfig
Source§impl Default for RedisHaConfig
impl Default for RedisHaConfig
Source§impl<'de> Deserialize<'de> for RedisHaConfig
impl<'de> Deserialize<'de> for RedisHaConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for RedisHaConfig
impl JsonSchema for RedisHaConfig
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for RedisHaConfig
impl PartialEq for RedisHaConfig
Source§impl Serialize for RedisHaConfig
impl Serialize for RedisHaConfig
impl StructuralPartialEq for RedisHaConfig
Auto Trait Implementations§
impl Freeze for RedisHaConfig
impl RefUnwindSafe for RedisHaConfig
impl Send for RedisHaConfig
impl Sync for RedisHaConfig
impl Unpin for RedisHaConfig
impl UnwindSafe for RedisHaConfig
Blanket Implementations§
§impl<T> AnyExt for T
impl<T> AnyExt for T
§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind reference§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable reference§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointer§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer§fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
T behind Box pointer§fn downcast_move<T>(this: Self) -> Option<T>
fn downcast_move<T>(this: Self) -> Option<T>
Self to T,
useful only in generic context as a workaround for specializationSource§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more