#redis-cluster #connection-pool #redis #cluster #r2d2 #pool

r2d2_redis_cluster2

为r2d2连接池提供Redis集群支持

1 个不稳定版本

使用旧的Rust 2015

0.23.3 2024年1月28日

数据库接口中排名2560

MIT 协议

8KB
84

MIT licensed

r2d2连接池提供Redis集群支持。

文档可在此处找到。

示例

extern crate r2d2_redis_cluster;

use std::thread;

use r2d2_redis_cluster::{r2d2::Pool, Commands, RedisClusterConnectionManager};

fn main() {
    let redis_uri = vec!["redis://127.0.0.1:6379", "redis://127.0.0.1:6378", "redis://127.0.0.1:6377"];
    let manager = RedisClusterConnectionManager::new(redis_uri).unwrap();
    let pool = Pool::builder()
        .build(manager)
        .unwrap();

    let mut handles = Vec::new();

    for _ in 0..10 {
        let pool = pool.clone();
        handles.push(thread::spawn(move || {
            let connection = pool.get().unwrap();
            let n: u64 = connection.incr("test", 1).unwrap();
        }));
    }

    for h in handles {
        h.join().unwrap();
    }

    let mut connection = pool.get().unwrap();
    let res: u64 = connection.get("test").unwrap();

    assert_eq!(res, 10);
}

依赖项

~3.5–9.5MB
~106K SLoC