Hot key là một key nhận lượng truy cập lớn bất thường — ví dụ cấu hình toàn hệ thống, sản phẩm flash sale, counter của một bài viral. Trong Redis Cluster, key được ánh xạ vào hash slot và mỗi slot thuộc đúng một node, nên toàn bộ traffic của key đó dồn vào một node duy nhất. Thêm node không giúp gì: cluster chia theo key, không chia theo lượt truy cập.
Phát hiện:
- redis-cli --hotkeys (dựa trên counter LFU) hoặc lấy mẫu bằng MONITOR trong thời gian ngắn (lệnh này tốn tài nguyên, không chạy lâu trên production).
- So sánh chỉ số per-node: một node có ops/sec và CPU cao hẳn so với phần còn lại là dấu hiệu rõ.
Xử lý:
- Cache tại chỗ (local cache) trong process ứng dụng với TTL vài giây cho đúng nhóm key nóng — cắt phần lớn round-trip tới Redis, đổi lại có độ trễ nhất quán ngắn.
- Chia key thành nhiều bản sao (config:v2:0..config:v2:9), client chọn ngẫu nhiên khi đọc; ghi thì cập nhật tất cả bản. Traffic trải ra nhiều slot, nhiều node.
- Đọc từ replica cho dữ liệu chịu được lệch nhẹ.
- Nếu là counter tăng liên tục, gộp cục bộ rồi flush theo lô thay vì INCR từng request.
Lưu ý phân biệt với big key (một key chứa hàng triệu phần tử): triệu chứng cũng là một node quá tải nhưng nguyên nhân là kích thước, và cách xử lý là chẻ nhỏ cấu trúc dữ liệu.