use cachet::{Cache, CacheEntry};
use tick::Clock;
#[tokio::main]
async fn main() {
let clock = Clock::new_tokio();
let l2 = Cache::builder::<bytesbuf::BytesView, bytesbuf::BytesView>(clock.clone()).memory();
let cache = Cache::builder::<String, String>(clock).memory().serialize().fallback(l2).build();
let key = "greeting".to_string();
cache
.insert(key.clone(), CacheEntry::new("Hello, world!".to_string()))
.await
.expect("insert failed");
let value = cache.get(&key).await.expect("get failed").expect("entry not found");
println!("get({key}): {value:?}",);
}