use kevy_embedded::{Config, Store};
fn main() -> kevy_embedded::KevyResult<()> {
let s = Store::open(Config::default().with_ttl_reaper_manual())?;
print_rss();
s.set(b"sensor:1", b"22.5")?;
assert_eq!(s.get(b"sensor:1")?, Some(b"22.5".to_vec()));
s.set(b"sensor:2", b"3.3")?;
s.expire(b"sensor:2", core::time::Duration::from_secs(60))?;
s.tick();
println!("keys={}", s.info().keys);
Ok(())
}
fn print_rss() {
#[cfg(target_os = "linux")]
{
let status = std::fs::read_to_string("/proc/self/status").unwrap_or_default();
for line in status.lines() {
if let Some(rest) = line.strip_prefix("VmRSS:") {
let kb: u64 = rest
.trim()
.trim_end_matches("kB")
.trim()
.parse()
.unwrap_or(0);
println!("rss_kb={kb}");
}
}
}
}