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