# Forceps
[![docs.rs][docs-rs-badge]][docs-rs-url]
[![crates.io][crates-badge]][crates-url]
[![CI][ci-badge]][ci-url]
**The easy-to-use and asynchronous solution for your tokio project**
[docs-rs-badge]: https://docs.rs/forceps/badge.svg
[docs-rs-url]: https://docs.rs/forceps/*/forceps
[crates-badge]: https://img.shields.io/crates/v/forceps.svg
[crates-url]: https://crates.io/crates/forceps
[ci-badge]: https://github.com/blockba5her/forceps/actions/workflows/ci.yml/badge.svg
[ci-url]: https://github.com/blockba5her/forceps/actions/workflows/ci.yml
forceps
is made to be an easy-to-use, thread-safe, performant, and asynchronous disk cache
that has easy reading and manipulation of data. It levereges tokio's async fs
APIs
and fast task schedulers to perform IO operations, and sled
as a fast metadata database.
It was originally designed to be used in scalpel
,
the MD@Home implementation for the Rust language.
Instability Warning
Just as a warning, this crate is still yet to be heavily tested and is still lacking features.
It is advisable to use another solution if you have the option!
Features
- Asynchronous APIs
- Fast and reliable reading/writing
- Tuned for large-file databases
- Easily accessible value metadata
- Optimized for cache
HIT
s
- Easy error handling
bytes
crate support (non-optional)
Planned Features
- Toggleable in-memory LRU cache
- Optional tracking of last-access timestamps
- Included cache eviction (LRU/FIFO)
- Built-in cache integrity checks
Documentation
All documentation for this project can be found at docs.rs.
License
This project is licensed under the MIT
license. Please see
LICENSE for more information.