What Is Redis?
Redis (Remote Dictionary Server) is an open-source, in-memory data structure store. It is commonly used as a cache, but it can also function as a database, message broker, and real-time analytics engine.
Redis stores data primarily in RAM, which allows it to deliver extremely low-latency responses compared to disk-based databases.
Why Redis Is So Fast
- In-memory storage — avoids disk I/O
- Single-threaded event loop — no locks or context switching
- Optimized data structures — purpose-built for speed
- Lightweight protocol — minimal overhead
Redis Data Types (With Examples)
Strings
The simplest type. Used for counters, flags, tokens, or cached values.
SET page_views 1
INCR page_viewsHashes
Store objects with multiple fields.
HSET user:1 name "Alice" age 29
HGET user:1 nameLists
Ordered collections, ideal for queues.
LPUSH jobs "email"
RPOP jobsSets
Unordered collections of unique values.
SADD online_users user1 user2
SMEMBERS online_usersSorted Sets
Like sets, but with scores. Perfect for leaderboards.
ZADD leaderboard 100 alice
ZRANGE leaderboard 0 -1 WITHSCORESCommon Redis Use Cases
- Database query caching
- User session storage
- Rate limiting APIs
- Queues & background jobs
- Leaderboards
- Real-time analytics
Persistence & Durability
Redis offers optional persistence so data can survive restarts:
- RDB — snapshot-based persistence
- AOF — append-only log of writes
When You Should NOT Use Redis
- As the only system of record
- For complex relational queries
- For large binary files
- When strict durability is required