A high-performance, concurrent, content-addressable disk cache, with support for both sync and async APIs. 💩💵 but for your 🦀
Go to file
Kat Marchán 473473e6b2
feat(license): relicense under MPL-2.0 (#8)
BREAKING CHANGE: The license terms have changed. Please refer to LICENSE in the root of this repository for details. Future use of this library may require release of source code for any changes applied to it.
2019-09-06 21:39:36 -07:00
.github fix(windows): add windows support 2019-08-31 22:38:37 -07:00
benches feat(license): relicense under MPL-2.0 (#8) 2019-09-06 21:39:36 -07:00
src feat(license): relicense under MPL-2.0 (#8) 2019-09-06 21:39:36 -07:00
.clog.toml meta: added clog.toml and initial CHANGELOG 2019-07-01 13:32:47 -07:00
.gitignore meta: ignore .vscode 2019-05-25 22:59:24 -07:00
CHANGELOG.md meta: added clog.toml and initial CHANGELOG 2019-07-01 13:32:47 -07:00
CODE_OF_CONDUCT.md doc(readme): filled out README; added CoC and CONTRIBUTING.md 2019-07-01 00:04:52 -07:00
CONTRIBUTING.md doc(readme): filled out README; added CoC and CONTRIBUTING.md 2019-07-01 00:04:52 -07:00
Cargo.lock meta: commit Cargo.lock too 2019-07-01 09:41:19 -07:00
Cargo.toml feat(license): relicense under MPL-2.0 (#8) 2019-09-06 21:39:36 -07:00
LICENSE feat(license): relicense under MPL-2.0 (#8) 2019-09-06 21:39:36 -07:00
README.md doc(readme): filled out README; added CoC and CONTRIBUTING.md 2019-07-01 00:04:52 -07:00

README.md

cacache

A Rust port of cacache for Node.js.

A high-performance, concurrent, content-addressable disk cache.

Install

Using cargo-edit

$ cargo add cacache

Documentation

Features

  • Extraction by key or by content address (shasum, etc)
  • Subresource Integrity web standard support
  • Multi-hash support - safely host sha1, sha512, etc, in a single cache
  • Automatic content deduplication
  • Fault tolerance (immune to corruption, partial writes, process races, etc)
  • Consistency guarantees on read and write (full data verification)
  • Lockless, high-concurrency cache access
  • Large file support
  • Pretty darn fast
  • Arbitrary metadata storage
  • Punches nazis

Contributing

The cacache team enthusiastically welcomes contributions and project participation! There's a bunch of things you can do if you want to contribute! The Contributor Guide has all the information you need for everything from reporting bugs to contributing entire new features. Please don't hesitate to jump in if you'd like to, or even ask us questions if something isn't clear.

All participants and maintainers in this project are expected to follow Code of Conduct, and just generally be excellent to each other.

Happy hacking!

License

Copyrights in this project are retained by their contributors. No copyright assignment is required to contribute to this project.

For full authorship information, see the version control history.

Except as otherwise noted (below and/or in individual files), this project is licensed under the Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 or the MIT license http://opensource.org/licenses/MIT, at your option.