14 个版本
0.4.2 | 2020 年 1 月 28 日 |
---|---|
0.4.1 | 2018 年 12 月 19 日 |
0.4.0 | 2018 年 11 月 15 日 |
0.3.0 | 2018 年 7 月 13 日 |
0.0.4 | 2015 年 3 月 26 日 |
#143 in 缓存
每月下载量 700
用于 aries
135KB
3.5K SLoC
memcached-rs
Rust 的 Memcached 库
用法
use std::collections::TreeMap;
use memcached::Client;
use memcached::proto::{Operation, MultiOperation, NoReplyOperation, CasOperation, ProtoType};
fn main() {
let servers = [
("tcp://127.0.0.1:11211", 1),
];
let mut client = Client::connect(&servers, ProtoType::Binary).unwrap();
client.set(b"Foo", b"Bar", 0xdeadbeef, 2).unwrap();
let (value, flags) = client.get(b"Foo").unwrap();
assert_eq!(value.as_slice(), b"Bar");
assert_eq!(flags, 0xdeadbeef);
client.set_noreply(b"key:dontreply", b"1", 0x00000001, 20).unwrap();
let (_, cas_val) = client.increment_cas(b"key:numerical", 10, 1, 20, 0).unwrap();
client.increment_cas(b"key:numerical", 1, 1, 20, cas_val).unwrap();
}
运行 cargo doc --open
获取更多详情。
SASL 认证
TCP 连接支持 PLAIN
SASL 认证
use memcached::proto::{Operation, ProtoType};
use memcached::Client;
fn main() {
let servers = [
("tcp://my-sasl-memcached-server.com:11211", 1)
];
let mut client = Client::connect_sasl(&servers, ProtoType::Binary, "my-username", "my-password").unwrap();
client.set(b"Foo", b"Bar", 0xdeadbeef, 2).unwrap();
let (value, flags) = client.get(b"Foo").unwrap();
assert_eq!(&value[..], b"Bar");
assert_eq!(flags, 0xdeadbeef);
}
待办事项
- 自动禁用失败的服务器
许可证
许可协议为以下之一
- Apache 许可证 2.0 版,(LICENSE-APACHE 或 http://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义,您提交的任何有意包含在作品中的贡献将按上述方式双许可,不附加任何额外条款或条件。
依赖关系
~1MB
~20K SLoC