Key phải tự mô tả và chứa đủ mọi tham số ảnh hưởng tới kết quả.
Quy ước phổ biến: <app>:<entity>:<id>:<biến-thể>.
shop:product:1234:v2
shop:product-list:cat=5:page=2:sort=price_asc:v2
auth:session:8f2c...Nguyên tắc:
- Thiếu tham số là bug: nếu response đổi theo locale, currency hay user role mà key không có, hai người dùng sẽ nhận nhầm dữ liệu của nhau.
- Đừng nhét dữ liệu cá nhân (email, token) vào key — key hiển thị trong log, SCAN, dashboard.
- Key dài thì hash phần tham số (sha1 của query string) nhưng giữ tiền tố đọc được để còn debug.
Đổi định dạng dữ liệu: đừng đi xoá từng key. Thêm số phiên bản vào tiền tố (:v2) rồi deploy — toàn bộ key v1 trở thành mồ côi và tự hết hạn theo TTL. Cách này không cần KEYS/FLUSHDB (nguy hiểm trên production) và cho phép rollback về v1 ngay lập tức.