| name | redis |
| description | Redis in-memory cache, pub/sub, streams, and data structures. Use for caching and real-time data. |
Redis
Redis (Remote Dictionary Server) is an in-memory data structure store, used as a database, cache, and message broker. It is incredibly fast.
When to Use
- Caching: The #1 use case. Cache HTML, JSON, or DB results.
- Session Store: User sessions (speed + automatic expiry).
- Queues: Simple background job queues using Lists (
LPUSH/RPOP).
- Real-time: Leaderboards, Counting, Pub/Sub.
Quick Start
SET session:123 "active" EX 10
INCR page:views
HSET user:100 name "Jeevan" role "admin"
Core Concepts
Single Threaded
Redis uses a main single thread. Requests are processed sequentially, atomic by design. (Though I/O threading runs in background).
Persistence (RDB vs AOF)
- RDB: Snapshots every X minutes. Fast restart, potential data loss.
- AOF: Logs every write. Slower, better durability.
Data Structures
Strings, Lists, Sets, Sorted Sets (ZSET), Hashes, Bitmaps, HyperLogLogs, Geospatial, Streams.
Best Practices (2025)
Do:
- Use Redis Stack: Includes extensions like RediSearch (
FT.SEARCH), RedisJSON, and Bloom Filters.