Redis Learning Roadmap
Redis is an in-memory data structure store used as a cache, message broker, and session store. It's the most popular caching solution in the world — used by Twitter, GitHub, Stack Overflow, and millions of production backends. When your API is too slow, Redis is usually the answer. A relatively quick skill to learn with an outsized impact on system performance.
Total time
4–6 weeks
Stages
5 stages
Job-ready at
Stage 3
Career paths
2 paths
Before you start — Prerequisites
Any backend language (Node.js, Python, Go)
Redis is a tool for applications — you need a backend to integrate it with.
Basic understanding of databases
Redis is often used alongside a primary database — knowing the difference between a cache and a database helps.
Basic networking (ports, connections)
Redis runs as a server on port 6379 — understanding client-server architecture helps.
Stage 1: Redis Basics
Strings, keys, and TTL
Topics to cover
Bold = especially important
Milestone
You connect to Redis, store and retrieve string values, set expiry times, and use atomic counters — the foundation of all Redis use cases.
Project to build
API response cache
Wrap a slow third-party API call — check Redis first, cache for 60 seconds on miss, return cached on hit. Measure the latency difference.
Stage 2: Data Structures
Lists, hashes, sets, and sorted sets
Topics to cover
Bold = especially important
Milestone
You use Redis hashes for user sessions, sorted sets for leaderboards, sets for unique tracking, and lists for activity feeds.
Project to build
Gaming leaderboard
ZADD player scores, ZRANGE to get top 10, ZINCRBY for score updates, ZRANK for player position — real-time leaderboard with sorted sets.
Stage 3: Caching Patterns & Session Storage
✓ Min. Job ReadyThe most common Redis use cases
Topics to cover
Bold = especially important
Milestone
You implement cache-aside caching, Redis-backed rate limiting, and session storage in a real backend application.
Project to build
Rate-limited API with Redis sessions
Express API with Redis rate limiting (100 req/min per IP), Redis session storage for auth, cache-aside for expensive queries.
Stage 4: Pub/Sub, Streams & Job Queues
Real-time messaging and background jobs
Topics to cover
Bold = especially important
Milestone
You build a background job system with BullMQ — jobs are enqueued from the API and processed by a separate worker, with retries on failure.
Project to build
Email queue with BullMQ
API endpoint enqueues welcome emails, BullMQ worker processes them (mock send), retry on failure, Bull Board dashboard.
Stage 5: Production Redis
Persistence, clustering, and monitoring
Topics to cover
Bold = especially important
Milestone
You configure Redis with AOF persistence, set a sensible eviction policy, understand the trade-offs of Sentinel vs Cluster, and secure it with TLS + AUTH.
Project to build
Production-ready Redis setup
Docker Compose with Redis + Sentinel, AOF enabled, maxmemory with allkeys-lru, TLS in development, monitored with Redis Insight.
What to learn next with Redis
Skills that pair directly with Redis in job postings
Node.js
ioredis and Bull/BullMQ make Node.js + Redis the standard job queue stack
Docker
Run Redis in a container — the most common local development setup
AWS
ElastiCache is AWS's managed Redis — essential for production deployments
Go
Go + Redis is common for high-performance backend services
Kubernetes
Deploy Redis as a StatefulSet in Kubernetes production clusters
Career paths that use Redis
Frequently asked questions
What is Redis actually used for?
Caching (reduce database load and API response times), session storage (store user sessions across multiple servers), rate limiting (count requests per IP per minute), job queues (background processing with BullMQ), pub/sub messaging (real-time events), and leaderboards/counters (atomic increment operations).
Is Redis a database?
Redis can be used as a primary database, but it's most commonly a secondary store alongside PostgreSQL or MongoDB. Data is stored in memory (fast) and optionally persisted to disk (durable). The trade-off: Redis is extremely fast but limited by available RAM.
Redis vs Memcached — which should I use?
Redis — it supports more data types (strings, lists, hashes, sets, sorted sets), has built-in persistence, pub/sub, scripting, and an active development community. Memcached is simpler and slightly faster for pure string caching, but Redis's versatility makes it the default choice for new projects.
How much data can Redis store?
Limited by available RAM. A single Redis node can typically hold tens of GB of data. For larger datasets, use Redis Cluster to shard data across multiple nodes. Redis on the free tiers of Redis Cloud or Railway gives you 25–30MB — enough for learning and small projects.
Does Redis lose data when the server restarts?
By default, yes — Redis is in-memory. You can enable persistence with RDB (snapshots) or AOF (append-only file). For session storage and caches, losing data on restart is acceptable. For job queues or critical data, enable AOF persistence or use Redis with a primary database as the source of truth.
Ready to start learning?
Browse our curated Redis resources — every course, book, and video ranked by quality.
View Redis Resources →