1 个稳定版本
1.3.0 | 2022年6月6日 |
---|
#2107 在 数据库接口
每月下载量 96
15KB
225 行
redislock-rs - 使用 Redis 的分布式锁定
这是 Redislock 的实现,它是基于 Redis 的 分布式锁定机制。它基本上是 Ruby 版本 的移植。
它包括一个 main.rs 中的示例应用程序。
构建
cargo build --release
用法
use redislock::{random_char, RedisLock};
fn main() {
let rl = RedisLock::new(vec![
"redis://127.0.0.1:6380/",
"redis://127.0.0.1:6381/",
"redis://127.0.0.1:6382/"]);
let lock;
loop {
let val = random_char(Some(20));
match rl.lock("mutex".as_bytes(), val, 1000, None, None) {
Some(l) => {
lock = l;
break;
}
None => ()
}
}
// Critical section
rl.unlock(&lock);
}
测试
使用以下命令运行测试
cargo test
使用以下命令运行示例应用程序
cargo run --release
贡献
如果您发现错误或想以其他方式提供帮助,请 打开一个问题。
维护者
- 从 badboy/redlock-rs 分叉,由 @IronC 维护
许可协议
BSD。请参阅 LICENSE。
依赖关系
~3–14MB
~204K SLoC