rsmc-tokio
This crate aims to provide a full-features memcached client for the Tokio async runtime using rsmc-core.
This is still an early implementation, so expect some bugs and missing features. If you find something is wrong, please open a GitHub issue (or, even better, a PR to fix the issue!)
Expect some breaking changes before a 1.0 release.
Features:
- Async
- Connection pooling provided by deadpool
- TLS support
- Binary protocol support
- get, multi_get
- set, multi_set
- delete, multi_delete
- add, replace
- increment, decrement
- Consistent hashing
- Support for different hashing algorithms.
- Compression
- Support for different compression algorithms.
Quick start
use Compression;
use ;
use TokioConnection;
// Consistent hashing is used to distribute keys
// evenly across a memcached cluster.
let memcached_servers = vec!;
// Use `ClientConfig::new_uncompressed()` if compression is not desired.
// You can disable the `zlib` feature (on by default) to disable it entirely.
let cfg = new;
// Create a connection pool with (at most) 16 connections per server.
let pool = new;
let mut client = pool.get.await.unwrap;
client.set.await.unwrap;
let response: = client.get.await.unwrap; // "world"