Redis là multi-purpose in-memory store được dùng rộng rãi cho caching, session, rate limiting, leaderboard và distributed lock trong hầu hết production stack hiện đại.
Các use case phổ biến của Redis trong production:
- Caching: lưu kết quả database query, API response, rendered HTML để giảm latency và tải cho database — đây là use case phổ biến nhất.
- Session store: lưu session người dùng với TTL, dễ share giữa nhiều server instance.
- Rate limiting: dùng INCR + EXPIRE hoặc Sorted Set để giới hạn API request theo IP/user.
- Leaderboard: dùng Sorted Set để rank user theo điểm, cực kỳ efficient với
ZADD,ZRANGE,ZRANK. - Queue: dùng List với
LPUSH/BRPOPđể implement simple task queue (hoặc Redis Streams cho production). - Pub/Sub: real-time notification, live dashboard, chat.
- Distributed lock: implement lock bằng
SET key value NX EX timeoutđể tránh race condition trong distributed system. - Geospatial: dùng Geo commands (
GEOADD,GEODIST,GEOSEARCH FROMMEMBER/FROMLONLAT BYRADIUS) cho tính năng tìm store gần nhất —GEORADIUSđã deprecated từ Redis 6.2. - Full-text search: RedisSearch module (Redis Stack) cho phép search index trực tiếp trên Redis data.