oxidite-cache

Crates.iooxidite-cache
lib.rsoxidite-cache
version2.0.1
created_at2025-12-07 12:53:28.551222+00
updated_at2026-01-24 18:49:32.377527+00
descriptionCaching backends (Memory, Redis) for the Oxidite v2 web framework
homepage
repositoryhttps://github.com/meshackbahati/rust-oxidite
max_upload_size
id1971525
size35,915
Meshack Bahati Ouma (meshackbahati)

documentation

README

oxidite-cache

Caching backends (Memory, Redis) for the Oxidite web framework.

Installation

[dependencies]
oxidite-cache = "0.1"

Usage

Memory Cache

use oxidite_cache::*;

let cache = MemoryCache::new();

// Set value
cache.set("key", "value", Some(Duration::from_secs(3600))).await?;

// Get value
if let Some(value) = cache.get::<String>("key").await? {
    println!("Value: {}", value);
}

// Delete
cache.delete("key").await?;

Redis Cache

let cache = RedisCache::new("redis://127.0.0.1")?;

cache.set("key", "value", Some(Duration::from_secs(3600))).await?;

Remember Pattern

let value = cache.remember("expensive-key", Duration::from_secs(3600), || async {
    // Expensive computation
    calculate_something().await
}).await?;

Tagged Cache

// Set with tags
cache.set_tagged("user:1", data, vec!["users"], None).await?;

// Invalidate by tag
cache.invalidate_tag("users").await?;

Features

  • Memory backend (LRU)
  • Redis backend
  • TTL support
  • Remember pattern
  • Tagged cache invalidation
  • Async/await

License

MIT

Commit count: 42

cargo fmt