All Projects β†’ zkat β†’ Cacache Rs

zkat / Cacache Rs

Licence: other
πŸ’©πŸ’΅ but for your πŸ¦€

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Cacache Rs

Golib
Go Library [DEPRECATED]
Stars: ✭ 194 (+67.24%)
Mutual labels:  cache, library
Libcache
A Lightweight in-memory key:value cache library for Go.
Stars: ✭ 152 (+31.03%)
Mutual labels:  cache, library
Holster
A place to keep useful golang functions and small libraries
Stars: ✭ 166 (+43.1%)
Mutual labels:  cache, library
Pottery
Redis for humans. 🌎🌍🌏
Stars: ✭ 204 (+75.86%)
Mutual labels:  cache, library
Torchdata
PyTorch dataset extended with map, cache etc. (tensorflow.data like)
Stars: ✭ 226 (+94.83%)
Mutual labels:  cache, library
Go Cache
An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.
Stars: ✭ 5,676 (+4793.1%)
Mutual labels:  cache, library
Ristretto
A high performance memory-bound Go cache
Stars: ✭ 3,584 (+2989.66%)
Mutual labels:  cache, library
Python Common Cache
This project is a cache component based on the memory and it is lightweight, simple and customizable. 🐍 πŸ˜ƒ
Stars: ✭ 21 (-81.9%)
Mutual labels:  cache, library
Ndef Tools For Android
NDEF Tools for Android
Stars: ✭ 113 (-2.59%)
Mutual labels:  library
Moyamapper
εΏ«ι€Ÿθ§£ζžζ¨‘εž‹ε·₯ε…·οΌŒζ”―ζŒRxSwiftγ€‚εŒζ—Άζ”―ζŒηΌ“ε­˜εŠŸθƒ½ γ€η›Έε…³ζ‰‹ε†Œ https://MoyaMapper.github.io 】
Stars: ✭ 115 (-0.86%)
Mutual labels:  cache
Hypre
See https://github.com/hypre-space/hypre for the development repository and releases. This repo will eventually be removed.
Stars: ✭ 113 (-2.59%)
Mutual labels:  library
Indicators
Activity Indicators for Modern C++
Stars: ✭ 1,838 (+1484.48%)
Mutual labels:  library
Vusikview
Android library to make notes drop animation for music players
Stars: ✭ 115 (-0.86%)
Mutual labels:  library
Tls Channel
A Java library that implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS for Java applications.
Stars: ✭ 113 (-2.59%)
Mutual labels:  library
Annotation Processing Example
It is the example project for the annotation processing tutorial.
Stars: ✭ 116 (+0%)
Mutual labels:  library
Php Cli
PHP library to build command line tools
Stars: ✭ 113 (-2.59%)
Mutual labels:  library
Petal
A modern, light CSS UI framework by Shakr
Stars: ✭ 113 (-2.59%)
Mutual labels:  library
Folding Cell
πŸ“ƒ FoldingCell is an expanding content cell with animation made by @Ramotion
Stars: ✭ 10,035 (+8550.86%)
Mutual labels:  library
Settings.net
βš™οΈ Settings.Net - An easy to use .NET library for accessing and storing settings and configurations.
Stars: ✭ 114 (-1.72%)
Mutual labels:  library
Aura.ui
A Library with a lot of Controls for AvaloniaUI
Stars: ✭ 114 (-1.72%)
Mutual labels:  library

cacache CI crates.io

A high-performance, concurrent, content-addressable disk cache, optimized for async APIs.

Example

use cacache;
use async_attributes;

#[async_attributes::main]
async fn main() -> Result<(), cacache::Error> {
    let dir = String::from("./my-cache");

    // Write some data!
    cacache::write(&dir, "key", b"my-async-data").await?;

    // Get the data back!
    let data = cacache::read(&dir, "key").await?;
    assert_eq!(data, b"my-async-data");

    // Clean up the data!
    cacache::rm::all(&dir).await?;
}

Install

Using cargo-edit

$ cargo add cacache

Minimum supported Rust version is 1.43.0.

Documentation

Features

  • First-class async support, using async-std as its runtime. Sync APIs are available but secondary
  • std::fs-style API
  • 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
  • Atomic content writes even for large data
  • Fault tolerance (immune to corruption, partial writes, process races, etc)
  • Consistency guarantees on read and write (full data verification)
  • Lockless, high-concurrency cache access
  • Really helpful, contextual error messages
  • Large file support
  • Pretty darn fast
  • Arbitrary metadata storage
  • Cross-platform: Windows and case-(in)sensitive filesystem support
  • 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

This project is licensed under the Parity License. Third-party contributions are licensed under Apache-2.0 and belong to their respective authors.

The Parity License is a copyleft license that, unlike the GPL family, allows you to license derivative and connected works under permissive licenses like MIT or Apache-2.0. It's free to use provided the work you do is freely available!

For proprietary use, please contact me, or just sponsor me on GitHub under the appropriate tier to acquire a proprietary-use license! This funding model helps me make my work sustainable and compensates me for the work it took to write this crate!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].