Crates.io | r2d2_redis_cluster |
lib.rs | r2d2_redis_cluster |
version | 0.1.6 |
source | src |
created_at | 2018-05-07 18:40:29.244359 |
updated_at | 2021-01-04 13:27:31.102367 |
description | Redis cluster support for the r2d2 connection pool. |
homepage | https://github.com/atuk721/r2d2-redis-cluster |
repository | https://github.com/atuk721/r2d2-redis-cluster |
max_upload_size | |
id | 64169 |
size | 7,090 |
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);
}