Crate typedcache

Source
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§

error
item
table
typed
Typed key-value expression, borrowed from typedmap.

Structs§

CACHE

Functions§

cache
Cache returns the existing cache table with given name or creates a new one if the table does not exist yet.