Crate redis_cluster_rs

Source
Expand description

This is a rust implementation for Redis cluster library.

This library extends redis-rs library to be able to use cluster. Client impletemts traits of ConnectionLike and Commands. So you can use redis-rs’s access methods. If you want more information, read document of redis-rs.

Note that this library is currently not have features of Pubsub.

§Example

extern crate redis_cluster_rs;

use redis_cluster_rs::{Client, Commands};

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

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

    assert_eq!(res, "test_data");
}

§Pipelining

extern crate redis_cluster_rs;

use redis_cluster_rs::{Client, PipelineCommands, pipe};

fn main() {
    let nodes = vec!["redis://127.0.0.1:6379/", "redis://127.0.0.1:6378/", "redis://127.0.0.1:6377/"];
    let client = Client::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();
}

Re-exports§

pub extern crate redis;

Structs§

Builder
This is a Builder of Redis cluster client.
Client
This is a Redis cluster client.
Connection
This is a connection of Redis cluster.

Traits§

Commands
Implements common redis commands for connection like objects. This allows you to send commands straight to a connection or client. It is also implemented for redis results of clients which makes for very convenient access in some basic cases.
ConnectionLike
Implements the “stateless” part of the connection interface that is used by the different objects in redis-rs. Primarily it obviously applies to Connection object but also some other objects implement the interface (for instance whole clients or certain redis results).
PipelineCommands
Implements common redis commands for pipelines. Unlike the regular commands trait, this returns the pipeline rather than a result directly. Other than that it works the same however.

Functions§

pipe
Shortcut for creating a new pipeline.

Type Aliases§

RedisResult
Library generic result type.