Fairy is a distributed cache implemented in Rust. It uses consistent hashing and a combination of memory and ssd to store and manage key-value pairs across multiple nodes in a network.
- Distributed caching with consistent hashing
- Lock-free eviction policy
- Supports adding and removing nodes dynamically
- Fault-tolerant with automatic failover
- Rust nightly toolchain
- Cargo
You might need
brew install pkg-config
brew install macfuse
Build the debug container
docker build -t fairy-debug -f docker_debug/Dockerfile .
Start a debug container
docker run -it --rm -v ${PWD}:/usr/src/fairy fairy-debug
You might need more permissions if you want to try POSIX/fuse interface
docker run -it --rm --cap-add SYS_ADMIN --device /dev/fuse --security-opt apparmor:unconfined -v ${PWD}:/usr/src/fairy fairy-debug
Add the following to your Cargo.toml
file:
[dependencies]
fairy = { git = "https://github.com/beinan/fairy.git", branch = "master" }