[][src]Module redis::cluster

This is supported on crate feature cluster only.

Redis cluster support.

This module extends the library to be able to use cluster. ClusterClient implements traits of ConnectionLike and Commands.

Note that the cluster support currently does not provide pubsub functionality.

Example

use redis::Commands;
use redis::cluster::ClusterClient;

let nodes = vec!["redis://127.0.0.1:6379/", "redis://127.0.0.1:6378/", "redis://127.0.0.1:6377/"];
let client = ClusterClient::open(nodes).unwrap();
let mut connection = client.get_connection().unwrap();

let _: () = connection.set("test", "test_data").unwrap();
let rv: String = connection.get("test").unwrap();

assert_eq!(rv, "test_data");

Pipelining

use redis::{Commands, pipe};
use redis::cluster::ClusterClient;

let nodes = vec!["redis://127.0.0.1:6379/", "redis://127.0.0.1:6378/", "redis://127.0.0.1:6377/"];
let client = ClusterClient::open(nodes).unwrap();
let mut connection = client.get_connection().unwrap();

let key = "test";

let _: () = pipe()
    .rpush(key, "123").ignore()
    .ltrim(key, -10, -1).ignore()
    .expire(key, 60).ignore()
    .query(&mut connection).unwrap();

Structs

ClusterClient

This is a Redis cluster client.

ClusterClientBuilder

This is a ClusterClientBuilder of Redis cluster client.

ClusterConnection

This is a connection of Redis cluster.