A simple caching library
r-cache is an in memory key value store. It is thread safe and values can have expiry times.
use async_std::sync::Arc;
use async_std::task;
use r_cache::cache::Cache;
use std::time::Duration;
const KEY: i8 = 0;
const VALUE: &str = "VALUE";
#[async_std::main]
async fn main() {
let cache = Arc::new(Cache::new(Some(Duration::from_secs(5 * 60))));
task::spawn({
let cache = Arc::clone(&cache);
async move {
loop {
task::sleep(Duration::from_secs(10 * 60)).await;
cache.remove_expired();
}
}
});
cache.set(KEY, VALUE, None);
assert_eq!(VALUE, cache.get(&KEY).unwrap())
}