use std::path::Path;
use std::thread::sleep;
use std::time::Duration;
use epoch_db::DB;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let db = DB::new(Path::new("./my_database"))?;
db.set("session:123", "user_token", Some(Duration::from_secs(2)))?;
println!("'session:123' is set.");
assert!(db.get("session:123")?.is_some());
sleep(Duration::from_secs(3));
assert!(db.get("session:123")?.is_none());
println!("'session:123' has expired.");
db.set(
"user:permanent",
"This will last forever",
Some(Duration::from_secs(1))
)?;
db.set("user:permanent", "This will last forever", None)?;
sleep(Duration::from_secs(2));
assert!(db.get("user:permanent")?.is_some());
println!("'user:permanent' is still here.");
Ok(())
}