Redis là kho dữ liệu key–value in-memory (lưu chủ yếu trong RAM) → đọc/ghi cực nhanh (thường dưới 1ms). Điểm mạnh là nó không chỉ lưu chuỗi mà là "data structure server" với nhiều kiểu dữ liệu gốc:
- String: giá trị đơn (cache trang, token, đếm với
INCR). - Hash: tập field–value trong một key (lưu object, vd thông tin session).
- List: danh sách theo thứ tự chèn (hàng đợi đơn giản, feed gần đây).
- Set: tập phần tử duy nhất, không thứ tự (tag, kiểm tồn tại nhanh, phép giao/hợp).
- Sorted set (ZSet): set có điểm số để sắp xếp (bảng xếp hạng, hàng đợi ưu tiên, dữ liệu theo thời gian).
- Thêm: Streams (log append-only cho event), bitmap/HyperLogLog (thống kê xấp xỉ), geospatial.
Ứng dụng phổ biến:
- Cache giảm tải DB (kèm TTL để tự hết hạn).
- Session store, rate limiting (INCR + EXPIRE).
- Hàng đợi / pub-sub nhẹ, leaderboard (ZSet).
Lưu ý: dữ liệu ở RAM (đắt, giới hạn dung lượng); Redis có persistence (RDB snapshot, AOF log) để không mất hết khi khởi động lại, nhưng vẫn dùng chủ yếu cho dữ liệu tạm/nóng, không thay DB bền vững làm nguồn sự thật. Khả dụng cao: Sentinel tự failover cho setup một master; Redis Cluster shard ngang tự động (16384 hash slot).