pub struct RedisClusterHandle { /* private fields */ }Expand description
A running Redis Cluster. Stops all nodes on Drop.
Implementations§
Source§impl RedisClusterHandle
impl RedisClusterHandle
Sourcepub fn node_addrs(&self) -> Vec<String>
pub fn node_addrs(&self) -> Vec<String>
All node addresses.
Sourcepub async fn is_healthy(&self) -> bool
pub async fn is_healthy(&self) -> bool
Check CLUSTER INFO for state=ok and all slots assigned.
Sourcepub async fn wait_for_healthy(&self, timeout: Duration) -> Result<()>
pub async fn wait_for_healthy(&self, timeout: Duration) -> Result<()>
Wait until the cluster is healthy or timeout.
Sourcepub fn node(&self, index: usize) -> &RedisServerHandle
pub fn node(&self, index: usize) -> &RedisServerHandle
Access a specific node by index.
Nodes are ordered by port: masters first (indices 0..masters),
then replicas (indices masters..total).
§Panics
Panics if index >= total_nodes.
Sourcepub fn nodes(&self) -> &[RedisServerHandle]
pub fn nodes(&self) -> &[RedisServerHandle]
All node handles.
Sourcepub fn num_masters(&self) -> u16
pub fn num_masters(&self) -> u16
The number of master nodes in the cluster.
Sourcepub fn master_nodes(&self) -> &[RedisServerHandle]
pub fn master_nodes(&self) -> &[RedisServerHandle]
Handles for the master nodes (the first masters nodes by port order).
Note: this reflects the initial topology. After a failover, the actual roles may differ from the startup ordering.
Sourcepub fn replica_nodes(&self) -> &[RedisServerHandle]
pub fn replica_nodes(&self) -> &[RedisServerHandle]
Handles for the replica nodes (all nodes after the masters by port order).
Note: this reflects the initial topology. After a failover, the actual roles may differ from the startup ordering.
Sourcepub async fn config_set_all(&self, key: &str, value: &str) -> Result<()>
pub async fn config_set_all(&self, key: &str, value: &str) -> Result<()>
Run CONFIG SET on all nodes.
Sourcepub async fn config_set_masters(&self, key: &str, value: &str) -> Result<()>
pub async fn config_set_masters(&self, key: &str, value: &str) -> Result<()>
Run CONFIG SET on master nodes only (initial topology).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RedisClusterHandle
impl RefUnwindSafe for RedisClusterHandle
impl Send for RedisClusterHandle
impl Sync for RedisClusterHandle
impl Unpin for RedisClusterHandle
impl UnsafeUnpin for RedisClusterHandle
impl UnwindSafe for RedisClusterHandle
Blanket Implementations§
Source§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> 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