| Crates.io | mcmc-rs |
| lib.rs | mcmc-rs |
| version | 0.7.1 |
| created_at | 2025-04-24 19:03:51.831766+00 |
| updated_at | 2026-01-19 07:54:09.164782+00 |
| description | Minimal rust client for memcached |
| homepage | |
| repository | https://github.com/ArtemIsmagilov/mcmc-rs |
| max_upload_size | |
| id | 1647662 |
| size | 253,891 |
This crate provides working with memcached server. All methods implemented. Available TCP/Unix/UDP connections.
use smol::{block_on, io};
use mcmc_rs::Connection;
fn main() -> io::Result<()> {
block_on(async {
let mut conn = Connection::default().await?;
conn.set(b"key", 0, 0, false, b"value").await?;
let item = conn.get(b"key").await?.unwrap();
println!("{item:#?}");
Ok(())
})
}
use smol::{block_on, io};
use mcmc_rs::{ClientCrc32, Connection};
fn main() -> io::Result<()> {
block_on(async {
let mut client = ClientCrc32::new(vec![
Connection::default().await?,
Connection::tcp_connect("127.0.0.1:11212").await?,
]);
client.set(b"key", 0, 0, false, b"value").await?;
let item = client.get(b"key").await?.unwrap();
println!("{item:#?}");
Ok(())
})
}
use smol::{block_on, io};
use mcmc_rs::Connection;
fn main() -> io::Result<()> {
block_on(async {
let mut conn = Connection::default().await?;
let r = conn
.pipeline()
.set("key", 0, 0, false, "A")
.set("key2", 0, 0, false, "A")
.get("key")
.get("key2")
.version()
.execute()
.await?;
println!("{r:#?}");
Ok(())
})
}
use smol::{block_on, io};
use mcmc_rs::{AddrArg, Manager, Pool};
fn main() -> io::Result<()> {
block_on(async {
let mgr = Manager::new(AddrArg::Tcp("127.0.0.1:11211"));
let pool = Pool::builder(mgr).build().unwrap();
let mut conn = pool.get().await.unwrap();
let result = conn.version().await?;
println!("{result:#?}");
Ok(())
})
}
use smol::{block_on, io};
use mcmc_rs::{Connection, WatchArg};
fn main() -> io::Result<()> {
block_on(async {
let mut conn = Connection::default().await?;
let mut w = conn.watch(&[WatchArg::Fetchers]).await?;
let mut conn = Connection::default().await?;
conn.get(b"key").await?;
println!("{:#?}", w.message().await?);
Ok(())
})
}
docker compose up
bash chmod_unix.bash
cargo test
docker compose down
cargo bench
cargo llvm-cov
cargo mutants