yocto
Yocto is a minimalistic key-value store built for fast and reliable state exchange between applications. It's written with an emphasis on reliability, speed and ease-to-use.
Features
- Uses a concurrent hash map as main data structure to allow multiple threads. Blocks only if the same bucket is accessed by at least one write operation.
- Allows
get
,insert
,remove
andclear
operations. More to come. - Can be deployed seamlessly with Docker.
Usage
You can use yocto either via Docker, by building it from source or programmatically via a crate.
Docker
In the below snipped, replace <host_port>
with the port you want yocto to bind to:
docker run -p <host_port>:7001 alebeck/yocto
Following environment variables can be passed:
YOCTO_THREADS
: Number of threads, defaults to4
YOCTO_BIND
: IP address and port to bind to inside the docker image, defaults to0.0.0.0:7001
YOCTO_VERBOSE
: Show debug logs, defaultfalse
Example usage:
docker run -p 7001:7001 --env YOCTO_THREADS=2 alebeck/yocto
Build from source
Pull the repository and execute
cargo test -- --test-threads=1
cargo build --release
cargo install
Via crates.io
Add yocto to your dependencies and use it like that:
use Config;
let config = Config ;
run;