Expand description
This crate provides concurrent-safe typedcache with expiration capabilities.
§Usage
Add this to your Cargo.toml
:
[build-dependencies]
typedcache = "0.2"
§Example
use std::time::Duration;
use typedcache::typed::TypedMap;
#[tokio::main]
async fn main() {
let cache = typedcache::cache("test".into());
cache
.add(
TestKey("key_erpired_after_1s".into()),
Duration::from_secs(1),
TestValue(1),
);
tokio::time::sleep(Duration::from_secs(2)).await;
assert!(cache
.get(&TestKey("key_erpired_after_1s".into()))
.is_none());
}
#[derive(Debug, Clone, Eq, PartialEq, Hash)]
pub struct TestKey(String);
impl TypedMap for TestKey {
type Value = TestValue;
}
pub struct TestValue(isize);
Modules§
Structs§
Functions§
- cache
- Cache returns the existing cache table with given name or creates a new one if the table does not exist yet.