Harshdev625 / Harshdev625/TimeMachine

Add Redis caching for session endpoints to improve performance

Open
#61 3 comments 0 reactions 0 assignees View on GitHub
enhancement hacktoberfest
Dominant language
JavaScript
Stars
12
Forks
28
PR merge metrics
No merged PRs in 30d

Description

## Problem Statement

- Currently, every time the user refreshes their dashboard or checks session history, the backend fetches data directly from MongoDB.
- This increases response time and database load, especially when users frequently start, pause, or complete sessions.

## Proposed Solution

- Add a Redis caching layer to temporarily store frequently accessed session data (/current, /history) for faster retrieval.

## Implementation idea:

- Use ioredis or redis npm package.

- Cache key format: session:${userEmail}

- Set a TTL of 5–10 minutes.

- Invalidate cache whenever session data is created, updated, or deleted.

## Alternatives Considered

- Using in-memory caching (e.g., node-cache) — but it wouldn’t scale across multiple backend instances.

- MongoDB indexing — helps query speed but doesn’t reduce repeated hits.

## Additional Context

- This would improve user experience on dashboards and analytics pages, reducing API response times by 30–50% while easing database loa

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.