6 releases
0.1.5 | Dec 15, 2023 |
---|---|
0.1.4 | Dec 15, 2023 |
#2075 in Database interfaces
26KB
670 lines
Amnesia
An expressive Rust library for interacting with a Cache.
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.
Dependencies
~0.4–14MB
~166K SLoC