Memcached
Async memcached client built on Rust and Async-std
## Features
This project is still under development. The following features with the check marks are supported.
If you are concerned about an unimplemented feature, please tell me and I will finish writing it ASAP.
- [x] Client Supported Method
- [x] add
- [x] append
- [x] cas
- [x] decrement
- [x] delete
- [x] flush
- [x] flush_with_delay
- [x] get
- [x] gets
- [x] increment
- [x] prepend
- [x] replace
- [x] set
- [x] stats
- [x] touch
- [x] version
- [x] Supported protocols
- [x] Binary protocol
- [ ] ASCII protocol
- [x] All memcached supported connections
- [x] TCP connection
- [ ] [TLS connection](https://crates.io/crates/memcachd)
- [ ] UDP connection
- [ ] UNIX Domain socket connection
- [x] Encodings support [Serde](https://github.com/serde-rs/serde)
- Of course including but not limited to `&[u8]` / `Vec`
- [x] Memcached cluster support with custom key hash algorithm
## Basic usage
This example uses async-std and enables some optional features, so your Cargo.toml could look like this:
```toml
[dependencies]
async-std = { version = "1", features = ["attributes"] }
memcached = "*"
```
And then the code:
```rust
#[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 = client.get("abc").await?;
assert_eq!(t, Some("hello".to_owned()));
Ok(())
}
```
For more usage, see [doc](https://docs.rs/memcached), each method of client has example.
## FAQ
### Should I use this in production?
Better not.
This project needs a lot of details to complete. But if you want, you can try it.
## License
Licensed under either of
- [Apache License, Version 2.0](LICENSE-APACHE)
- [MIT license](LICENSE-MIT)
at your option.
## Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions