5 个版本

使用旧的 Rust 2015

0.1.4 2017年1月3日
0.1.3 2017年1月2日
0.1.2 2017年1月1日
0.1.1 2016年12月31日
0.1.0 2016年12月31日

#10 in #replica


djinn 中使用

MIT 许可证

24KB
346

Rust 版本的 redis-rb-cluster,用于与 Redis 集群交互。

将其添加到您的 Cargo.toml

[dependencies]
redis-cluster = "0.1"

基本用法

extern crate redis_cluster;

use redis_cluster::{Cluster, ClusterCmd};

fn main() {
    let startup_nodes =
        vec!["redis://127.0.0.1:7000", "redis://127.0.0.1:7001", "redis://127.0.0.1:7002"];
    let mut clus = Cluster::new(startup_nodes);
    let mut cmd = ClusterCmd::new();
    cmd.arg("SET").arg("foo").arg("bar");
    let _: () = clus.send_command(&cmd).unwrap();

    let mut cmd = ClusterCmd::new();
    cmd.arg("GET").arg("foo");
    let res: String = clus.send_command(&cmd).unwrap();
    println!("{:?}", res);
    assert_eq!(res, "bar");
}

示例

一个简单的示例包含在 examples/basic.rs 中。

在运行它之前,您需要启动一个 Redis 集群。您可以通过运行 examples/cluster/start.sh 来启动一些 Redis 节点以形成集群。然后,要创建集群

./examples/cluster/redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

然后运行示例

cargo run --example basic

待办事项

  • 测试
  • 使其成为 redis::Client/redis::Connection 的直接替代品

致谢

此代码的基础是 此处

依赖关系

~2.5MB
~69K SLoC