5 releases (2 stable)
1.0.1 | Apr 18, 2023 |
---|---|
1.0.0 | Mar 1, 2021 |
0.1.2 | Mar 1, 2021 |
0.1.1 | Mar 1, 2021 |
0.1.0 | Mar 1, 2021 |
#473 in Concurrency
165 downloads per month
26KB
618 lines
Redsync
A Rust implementation of Redlock for distributed locks with Redis.
Installation
Add the following line to your Cargo.toml file:
[dependencies]
redsync = "1.0.1"
Documentation
Quick Start
use std::error::Error;
use std::time::Duration;
use redsync::{RedisInstance, Redsync};
fn main() -> Result<(), Box<dyn Error>> {
let dlm = Redsync::new(vec![
RedisInstance::new("redis://127.0.0.1:6389")?,
RedisInstance::new("redis://127.0.0.1:6399")?,
RedisInstance::new("redis://127.0.0.1:6379")?,
]);
let lock = dlm.lock("resource", Duration::from_secs(1))?;
dlm.unlock(&lock)?;
Ok(())
}
For more examples, see examples.
Dependencies
~3–4MB
~103K SLoC