-
Notifications
You must be signed in to change notification settings - Fork 41
Open
Labels
Description
Overview
Add caching layer using Redis or in-memory cache to improve performance and reduce database load.
Background
Caching frequently accessed data significantly improves API response times.
Specifications
Modules to Create:
- Cache module configuration
- Cache service wrapper
- Cache invalidation logic
- Cache decorators
- Cache key management
Tasks:
- Configure cache-manager with Redis
- Create cache service wrapper
- Implement cache decorators
- Add caching to expensive queries
- Create cache invalidation strategy
- Implement cache key namespacing
- Add cache statistics endpoint
- Write comprehensive tests
Impacted Files:
- src/modules/cache/cache.module.ts (new)
- src/modules/cache/cache.service.ts (new)
- src/common/decorators/cache.decorator.ts (new)
- src/common/interceptors/cache.interceptor.ts (new)
- src/config/cache.config.ts (new)
- src/modules//services/.service.ts (update)
- test/cache/cache.spec.ts (new)
Labels: backend, caching, performance, redis, priority-medium
Acceptance Criteria
- Redis cache configured
- Frequently accessed data cached
- Cache TTL configured appropriately
- Cache invalidated on updates
- Cache hit/miss tracked
- Fallback to database on cache miss
- Cache keys namespaced properly
- All caching scenarios tested
🙌Contribution Guidelines:
Assignment required before PR submission
Timeframe: 48-72 hours
PR description must include: Close #[issue-number]
Star the repo⭐
For more context, please refer to the backend README 🚀
Reactions are currently unavailable