Redis Essentials
Redis is an in-memory data structure store used as a cache, database, and message broker.
Core Data Types
Strings
SET user:1:name "Alice"
GET user:1:name → "Alice"
SET counter 0
INCR counter → 1
Hashes
HSET user:1 name "Alice" age "30" city "NYC"
HGET user:1 name → "Alice"
HGETALL user:1 → name, Alice, age, 30, city, NYC
Lists
LPUSH queue "task1"
LPUSH queue "task2"
RPOP queue → "task1"
Sets
SADD tags:post1 "redis" "caching" "database"
SMEMBERS tags:post1 → redis, caching, database
SISMEMBER tags:post1 "redis" → 1 (true)
Sorted Sets
ZADD leaderboard 100 "alice" 85 "bob" 92 "charlie"
ZREVRANGE leaderboard 0 2 → alice, charlie, bob
TTL (Time To Live)
SET session:abc123 "user_data" EX 3600 # Expires in 1 hour
TTL session:abc123 # Seconds remaining
Common Use Cases
- Session storage: Fast read/write for user sessions
- Rate limiting: Track request counts with INCR and EXPIRE
- Leaderboards: Sorted sets for real-time rankings
- Pub/Sub: Real-time messaging between services
- Queue: Lists as simple job queues