pub enum UniversalClient {
Client(Client),
Cluster(ClusterClient),
}Expand description
A universal Redis client that works with both standalone Redis and Redis Cluster.
Wraps either a redis::Client or a redis::cluster::ClusterClient, similar to
go-redis’s UniversalClient.
§Examples
use redis::AsyncCommands;
use redis_universal_client::UniversalClient;
// Standalone Redis
let client = UniversalClient::open(vec!["redis://127.0.0.1:6379"])?;
let mut conn = client.get_connection().await?;
conn.set::<_, _, ()>("key", "value").await?;
let val: String = conn.get("key").await?;
// Redis Cluster (multiple addresses)
let client = UniversalClient::open(vec![
"redis://127.0.0.1:7000",
"redis://127.0.0.1:7001",
])?;
let mut conn = client.get_connection().await?;Variants§
Client(Client)
Cluster(ClusterClient)
Implementations§
Source§impl UniversalClient
impl UniversalClient
pub async fn get_connection(&self) -> RedisResult<UniversalConnection>
Sourcepub fn open<T: IntoConnectionInfo + Clone>(
addrs: Vec<T>,
) -> RedisResult<UniversalClient>
pub fn open<T: IntoConnectionInfo + Clone>( addrs: Vec<T>, ) -> RedisResult<UniversalClient>
Creates a UniversalClient from a list of addresses.
- 1 address: creates a standalone
redis::Client - Multiple addresses: creates a
redis::cluster::ClusterClient
To force cluster mode with a single address, use UniversalBuilder instead.
Trait Implementations§
Source§impl Clone for UniversalClient
impl Clone for UniversalClient
Source§fn clone(&self) -> UniversalClient
fn clone(&self) -> UniversalClient
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for UniversalClient
impl !RefUnwindSafe for UniversalClient
impl Send for UniversalClient
impl Sync for UniversalClient
impl Unpin for UniversalClient
impl UnsafeUnpin for UniversalClient
impl !UnwindSafe for UniversalClient
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
Mutably borrows from an owned value. Read more