9 releases

0.4.1 Oct 31, 2023
0.4.0 Sep 13, 2023
0.3.3 May 18, 2023
0.3.2 May 21, 2021
0.1.0 Apr 26, 2021

#860 in Database interfaces

MIT license

59KB
794 lines

Forceps

docs.rs crates.io CI

The easy-to-use and asynchronous solution for your tokio project


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
  • Included cache eviction (LRU/FIFO)
  • Easily accessible value metadata
  • Optimized for cache HITs
  • Easy error handling
  • bytes crate support (non-optional)

Planned Features

  • Toggleable in-memory LRU cache
  • Optional tracking of last-access timestamps
  • 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.

Dependencies

~9–18MB
~205K SLoC