pocketcache

A simple in-memory cache for Rust.
Install
[dependencies]
pocketcache = "0.0.1"
Usage
use pocketcache::cache::Cache;
use pocketcache::time::Expiration;
#[derive(Debug)]
struct Data {
messages: Vec<String>,
}
fn main() {
let expiration = Expiration::Hour(3);
let mut cache = Cache::<Data>::new(expiration);
cache.set(
"fruit",
Data {
messages: vec![String::from("peach")],
},
);
let fruit = cache.get("fruit");
println!("{:#?}", fruit);
cache.delete("fruit");
let fruit = cache.get("fruit");
println!("{:#?}", fruit); }
API
Expiration
use pocketcache::time::Expiration;
let expiration = Expiration::Second(30); let expiration = Expiration::Minute(5); let expiration = Expiration::Hour(3); let expiration = Expiration::Default;
Cache
use pocketcache::cache::Cache;
use pocketcache::time::Expiration;
let mut cache = Cache::<&str>::new(Expiration::Default);
set
cache.set("fruit", "banana");
cache.set("vegetable", "carrot");
cache.set("meat", "crab");
get
let mut cache = Cache::<&str>::new(Expiration::Default);
let fruit = cache.get("fruit");
println!("{:#?}", fruit);
cache.set("fruit", "banana");
let fruit = cache.get("fruit");
println!("{:#?}", fruit);
cache.set("fruit", "peach");
let fruit = cache.get("fruit");
println!("{:#?}", fruit);
let fruit = cache.get("fruit");
println!("{:#?}", fruit);
delete
cache.set("fruit", "banana");
cache.delete("fruit");
let fruit = cache.get("fruit");
println!("{:#?}", fruit);
clear
cache.set("fruit", "banana");
cache.set("vegetable", "carrot");
cache.set("meat", "crab");
cache.clear();
println!("{:#?}", cache.get("fruit")); println!("{:#?}", cache.get("vegetable")); println!("{:#?}", cache.get("meat"));