6 releases

0.3.2 May 21, 2021
0.3.1 May 16, 2021
0.2.1 Apr 27, 2021
0.1.0 Apr 26, 2021

#306 in Database interfaces

Download history 2/week @ 2021-06-03 29/week @ 2021-06-10 39/week @ 2021-06-17 7/week @ 2021-06-24 31/week @ 2021-07-01 16/week @ 2021-07-08 24/week @ 2021-07-15 29/week @ 2021-07-22 83/week @ 2021-07-29 27/week @ 2021-08-05 48/week @ 2021-08-12 34/week @ 2021-08-19 100/week @ 2021-08-26 12/week @ 2021-09-02 47/week @ 2021-09-09 20/week @ 2021-09-16

53 downloads per month

MIT license

57KB
790 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

~8.5MB
~155K SLoC