#redis-cluster #redis #cluster

redis_cluster_rs2

Redis集群驱动程序,适用于Rust

1个不稳定版本

使用旧的Rust 2015

0.23.3 2024年1月28日

#2312 in 数据库接口


r2d2_redis_cluster2 中使用

MIT 许可证

31KB
635 代码行

MIT licensed

这是Redis集群库的Rust实现。

文档可在此处找到。

此库扩展了redis-rs库,使其能够使用集群。客户端实现了ConnectionLike和Commands特性。因此,您可以使用redis-rs的访问方法。如需更多信息,请阅读redis-rs的文档。

请注意,此库目前不具有Pubsub功能。

示例

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");
}

管道

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();
}

依赖项

~5MB
~121K SLoC