-
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or requestpriority:mediumMedium priorityMedium prioritysize:lLarge (1-2 weeks)Large (1-2 weeks)type:featureNew feature or enhancementNew feature or enhancement
Milestone
Description
Description
Add optional query result caching to improve performance for frequently accessed data.
Tasks
- Design cache interface trait
- Implement in-memory cache (LRU)
- Add Redis cache support
- Create cache middleware
- Add cache invalidation strategies
- Support TTL and manual invalidation
- Add cache statistics to metrics
Example Usage
let client = PraxClient::new(config)
.with_cache(RedisCache::new(redis_url))
.cache_ttl(Duration::from_secs(300));
// Cached query
let users = client.user()
.find_many()
.cache("active_users", Duration::from_secs(60))
.exec().await?;
// Invalidate
client.cache().invalidate("active_users").await?;Acceptance Criteria
- In-memory cache works
- Redis cache works
- Cache invalidation on writes
- Configurable TTL
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestpriority:mediumMedium priorityMedium prioritysize:lLarge (1-2 weeks)Large (1-2 weeks)type:featureNew feature or enhancementNew feature or enhancement