Skip to content

Add Redis caching for session endpoints to improve performance #61

@shwetharbaliga

Description

@shwetharbaliga

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthacktoberfestParticipates in Hacktoberfest

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions