2 releases
0.1.1 | May 7, 2024 |
---|---|
0.1.0 | May 7, 2024 |
#307 in Database implementations
20KB
443 lines
SparKV
SparKV is an expirable in-memory key-value store for Rust.
Features
- Flexible expiration duration (a.k.a. time-to-live or TTL) per entry instead of database-wide common TTL.
- This is similar to that of DNS where each entries of the same domain can have its own unique TTL.
- Automatically clears expired entries by default.
- String-based key-value store.
- Fast data entry enforcements, including ensuring entry size, database size and max TTL.
- SparKV is intentionally not an LRU cache.
- Configurable.
Usage
Add SparKV crate to your Cargo dependencies:
$ cargo add sparkv
Quick start
use sparkv::SparKV;
let mut sparkv = SparKV::new();
sparkv.set("your-key", "your-value"); // write
sparkv.get("your-key", "your-value"); // read
// Set with unique TTL
sparkv.set_with_ttl("longer", "your-value", std::time::Duration::from_secs(60));
See config.rs
for more configuration options.
TODO
- Documentations
- Support generic data types
License
MIT License
Copyright © 2024 U-Zyn Chua