Crates.io | r2d2_redis_cluster2 |
lib.rs | r2d2_redis_cluster2 |
version | 0.23.3 |
source | src |
created_at | 2024-01-28 01:12:18.819589 |
updated_at | 2024-01-28 01:12:18.819589 |
description | Redis cluster support for the r2d2 connection pool. |
homepage | https://github.com/chunhui2001/r2d2_redis_cluster2 |
repository | https://github.com/chunhui2001/r2d2_redis_cluster2 |
max_upload_size | |
id | 1117213 |
size | 7,151 |
Redis cluster support for the r2d2
connection pool.
Documentation is available at here.
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);
}