10个版本
0.4.5-beta.2 | 2023年6月21日 |
---|---|
0.4.4 | 2020年5月12日 |
0.3.0 | 2020年5月11日 |
0.2.0 | 2020年5月10日 |
0.1.0 | 2020年5月9日 |
#55 in 缓存
每月26次下载
63KB
1.5K SLoC
Memcached
基于Rust和Async-std构建的异步memcached客户端
功能
此项目仍在开发中。以下带有勾选的功能是支持的。
如果您关心未实现的功能,请告诉我,我将尽快完成编写。
- 客户端支持的方法
- add
- append
- cas
- decrement
- delete
- flush
- flush_with_delay
- get
- gets
- increment
- prepend
- replace
- set
- stats
- touch
- version
- 支持的协议
- 二进制协议
- ASCII协议
- 所有memcached支持的连接
- TCP连接
- TLS连接
- UDP连接
- UNIX域套接字连接
- 支持编码 Serde
- 当然包括但不限于
&[u8]
/Vec<u8>
- 当然包括但不限于
- 支持使用自定义密钥哈希算法的Memcached集群
基本用法
此示例使用async-std并启用了一些可选功能,因此您的Cargo.toml可能看起来像这样
[dependencies]
async-std = { version = "1", features = ["attributes"] }
memcached = "*"
然后是代码
#[async_std::test]
async fn it_works() -> memcached::Result<()> {
let client = memcached::connect("memcache://127.0.0.1:12345")?;
client.set("abc", "hello", 100).await?;
let t: Option<String> = client.get("abc").await?;
assert_eq!(t, Some("hello".to_owned()));
Ok(())
}
有关更多用法,请参阅文档,客户端的每个方法都有示例。
常见问题解答
我应该在生产中使用这个吗?
最好不要。
此项目需要大量细节来完成。但如果您愿意,可以尝试使用它。
许可证
根据您的选择,许可如下
。
贡献
除非您明确声明,否则您有意提交以包含在作品中的任何贡献,根据Apache-2.0许可证定义,应按上述方式双重许可,而不附加任何额外条款或条件
依赖项
~11–24MB
~340K SLoC