All the use cases are listed below
Caching — database query results, API responses, rendered HTML fragments
Session storage — user sessions in web apps (fast reads, TTL-based expiry)
Rate limiting — token bucket or sliding window counters per user/IP
Leaderboards — real-time rankings using sorted sets
Pub/Sub messaging — lightweight event broadcasting between services
Distributed locking — coordinating access across multiple app instances
Job queues — task queues via lists or Streams (Sidekiq, Celery use Redis)
Real-time analytics — counters, HyperLogLog for unique counts, time-series data