Skip to content

An expressive Rust library for interacting with a cache.

License

Notifications You must be signed in to change notification settings

m1guelpf/amnesia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Amnesia

An expressive Rust library for interacting with a Cache.

crates.io download count badge docs.rs

Features

  • Driver-Based Architecture: Easily switch between different caching strategies by using drivers.
  • Asynchronous API: Built with async/await for non-blocking I/O operations.
  • Serialization: Leverage Serde for serializing and deserializing cache values.
  • Time-to-Live (TTL): Set expiration times for cache entries to ensure stale data is not served.
  • Extensible: Implement your own cache drivers to extend functionality.

Usage

let mut cache = Cache::<RedisDriver>::new(RedisConfig { // or DynamoDBDriver, DatabaseDriver, MemoryDriver, etc.
    redis_url: "..."
}).await?;

let my_value = cache.remember("test-value", Duration::from_secs(10), my_value).await?;

cache.forget("test-value").await?;

Please refer to the documentation on docs.rs for detailed usage instructions.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

An expressive Rust library for interacting with a cache.

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Languages