simple-cache-rs

Crates.iosimple-cache-rs
lib.rssimple-cache-rs
version0.4.0
sourcesrc
created_at2020-11-30 17:27:50.575701
updated_at2020-12-05 01:47:14.008437
descriptionA simple rust implementation of HashMap with expiration control.
homepage
repositoryhttps://github.com/calvinbrown085/simple-cache-rs
max_upload_size
id318296
size21,834
Calvin Brown (calvinbrown085)

documentation

README

A simple in-mem cache for Rust

Docs Apache-2 licensed CI

A simple rust implementation of HashMap with expiration control.

Example

Without expiration:

use simple_cache_rs::SimpleCache;

let mut scache: SimpleCache<i32, String> = SimpleCache::new(None);

scache.insert(1, String::from("test"));
println!("{:?}", scache.get(&1));

With expiration:

use simple_cache_rs::SimpleCache;
use std::time::Duration;
use std::thread; // For example purposes only

let timeout = Duration::new(1, 0);
let mut scache: SimpleCache<i32, String> = SimpleCache::new(Some(timeout));

scache.insert(1, String::from("test"));
assert_eq!(Some(String::from("test")), scache.get(&1));

thread::sleep(Duration::new(1, 1)); // For example purposes only
assert_ne!(Some(String::from("test")), scache.get(&1));
Commit count: 33

cargo fmt