redlock-rs

Crates.ioredlock-rs
lib.rsredlock-rs
version0.2.1
sourcesrc
created_at2014-11-22 13:30:06.983906
updated_at2015-12-11 23:55:29.371301
description[DEPRECTAED] Use redlock instead
homepagehttps://github.com/badboy/redlock-rs
repositoryhttps://github.com/badboy/redlock-rs
max_upload_size
id340
size15,723
Engine Devs (github:amethyst:engine-devs)

documentation

README

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.

License

BSD. See LICENSE.

Commit count: 60

cargo fmt