caches-rs icon indicating copy to clipboard operation
caches-rs copied to clipboard

This is a Rust implementation for popular caches (support no_std).

Caches

github Build codecov

docs.rs crates.io crates.io

license-apache license-mit

This is a Rust implementation for popular caches (support no_std).

See Introduction, Installation and Usages for more details.

English | 简体中文

Introduction

The MSRV for this crate is 1.55.0.

  • LRU
    • LRUCache, SegmentedCache, TwoQueueCache and AdaptiveCache.
  • LFU
    • TinyLFU, SampledLFU, and WTinyLFUCache

Installation

  • std
    [dependencies]
    caches = "0.2" 
    
  • no_std
    [dependencies]
    caches = {version: "0.2", features: ["core"]}
    

Usages

Please see examples.

Roadmap

  • [x] 0.2: Support TinyLFU, SampledLFU, WTinyLFUCache
  • [ ] 0.3: Support LIRS, DLIRS, DSLRU
  • [ ] 0.4: Add ttl feature

Related

If you want a high-performance thread-safe modern cache, please see https://crates.io/crates/stretto

Acknowledgments

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.