6 releases (stable)
2.0.0 | Apr 6, 2023 |
---|---|
1.2.0 | Aug 30, 2021 |
1.1.0 | Apr 6, 2021 |
1.0.0 | Jan 15, 2016 |
0.3.0 | Apr 9, 2015 |
#282 in Concurrency
1,493 downloads per month
19KB
359 lines
redlock-rs - Distributed locks with Redis
This is an implementation of Redlock, the distributed locking mechanism built on top of Redis. It is more or less a port of the Ruby version.
It includes a sample application in main.rs.
Build
cargo build --release
Usage
use redlock::RedLock;
fn main() {
let rl = RedLock::new(vec!["redis://127.0.0.1:6380/", "redis://127.0.0.1:6381/", "redis://127.0.0.1:6382/"]);
let lock;
loop {
match rl.lock("mutex".as_bytes(), 1000) {
Some(l) => { lock = l; break }
None => ()
}
}
// Critical section
rl.unlock(&lock);
}
Tests
Run tests with:
cargo test
Run sample application with:
cargo run --release
Contribute
If you find bugs or want to help otherwise, please open an issue.
Maintainer
- From 2014 to June 2021 this crate was owned and maintained by @badboy
- From June 2021 on this crate is maintained by @aig787
License
BSD. See LICENSE.
Dependencies
~2.8–9.5MB
~95K SLoC