1. Introduction & Basics
- What is Redis? (In-memory data store, caching, message broker)
- Redis architecture (single-threaded model, event loop)
- Installing Redis (local, Docker, cloud)
- Redis CLI basics (redis-cli, configuration, commands)
- Understanding redis.conf file
2. Data Types & Operations
- Strings: SET, GET, INCR, APPEND
- Lists: LPUSH, RPUSH, LRANGE, LPOP, RPOP
- Sets: SADD, SMEMBERS, SINTER, SUNION
- Sorted Sets (ZSets): ZADD, ZRANGE, ZRANK, ZREM
- Hashes: HSET, HGET, HGETALL
- Bitmaps: SETBIT, GETBIT, BITCOUNT
3. Key Management
- Key expiration: EXPIRE, TTL, PERSIST
- Pattern matching: SCAN, KEYS
- Key naming conventions & best practices
- Deleting data: DEL, UNLINK
4. Persistence & Durability
- RDB (Snapshotting): configuration & performance
- AOF (Append Only File): configuration & recovery
- Hybrid persistence (RDB + AOF)
- Backup & restore strategies
5. Pub/Sub & Messaging
- PUBLISH / SUBSCRIBE
- Pattern-based subscriptions (PSUBSCRIBE)
- Use cases (real-time notifications, chat apps)
6. Transactions & Atomicity
- MULTI, EXEC, DISCARD, WATCH
- Optimistic locking
- Ensuring atomic operations
7. Replication & High Availability
- Master-slave replication
- Read replicas
- Redis Sentinel for failover
- Redis Cluster basics (sharding, slots)
8. Security
- Redis AUTH & ACLs
- Network-level security
- Running Redis behind a firewall / in private networks
9. Advanced Features
- Redis Modules (RedisJSON, RedisSearch, RedisGraph, RedisBloom)
- Geospatial indexes (GEOADD, GEORADIUS)
- Memory optimization (maxmemory, eviction policies)
- Pipelining (MULTI/EXEC vs pipelining)
- Lua scripting in Redis
- Connection pooling
11. Monitoring & Troubleshooting
- Redis MONITOR, INFO, SLOWLOG
- Log analysis
- Debugging blocking operations
12. Real-world Integrations
- Using Redis with Python, Node.js, Java, Go, etc.
- Redis as a cache in front of databases
- Redis for rate limiting
- Redis for leaderboard systems
- Redis as a message queue