Kiểu dữ liệu của Redis cho vị trí Senior Backend / Tech Lead: mỗi kiểu thật ra được cất thế nào, tốn bao nhiêu RAM, lệnh nào chặn cả server, sai ở đâu khi nhiều worker cùng ghi, khi failover, khi dữ liệu lớn dần — và khi nào nên dùng hệ thống khác. Ví dụ trộn LMS (điểm danh, khoá học, học viên online) và e-commerce (giỏ hàng, tồn kho, đơn hàng). Nên đọc bài 1 trước, các bài sau đọc theo nhu cầu. Mọi output là output thật: Redis 8.8.0 (so với Redis 7.4.11 và Valkey 9.1.2), Laravel 12.64 + phpredis 6.3, PostgreSQL 18.4.
GET-sửa-SET JSON mất 899/1000 lần cộng; HGETALL 1 triệu field chặn mọi client 311 ms; zset 128 → 129 member RAM ×12; ngưỡng embstr của 8.8 tính cả tên key; RDB 14 không về được 7.4 hay Valkey.
Bài 2 · StringSET xoá TTL cũ; 1 bit ở offset cuối = 640 MB; điểm danh bitmap 16 KB vs set 2,5 MB; HLL ±1% trong 14 KB; INCREX (8.8) và SET … IFEQ (8.4); bẫy facade Laravel.
Bài 3 · Hash, SetHSET xoá TTL field; ép listpack 10 000 field làm HSET chậm 260 lần; SUNIONSTORE 1,25 s; "ai online" bằng set sai mãi; SRANDMEMBER không đều (69–388 lần cho kỳ vọng 200).
Bài 4 · List, ArrayLPOP làm mất job; Laravel queue = list + zset + Lua, quá retry_after là chạy 2 lần; nén list đọc giữa chậm 36 lần; Array thưa tốn 47–11 558 byte/phần tử tuỳ cách rải index.
Bài 5 · Sorted Set, GeoBằng điểm xếp theo tên; score ghép vượt 2^53 đảo thứ hạng; scheduler đọc-rồi-chạy làm 1 000 job chạy 8 927 lần; rank 15 µs vs PostgreSQL 103 ms; Geo lệch 0,5%.
Bài 6 · StreamMAXLEN cắt mất 8 900 entry của group chậm mà lag vẫn báo 1 000; XNACK (8.8), CLAIM (8.4), IDMP (8.6); failover mất 20 entry đã OK và giao lại 50; consumer Laravel idempotent + DLQ.
Bài 7 · Redis 8Đo với đáp án thật: Bloom sai dương 0,5%, CF.DEL nhầm gây sai âm, CMS đếm dư +489% ở đuôi, t-digest ≤ 1,2%; vector Q8 recall 95% còn BIN 25%; không có trên Valkey.
Bổ sung · StreamLog đúng thứ tự nhưng xử lý thì không: nhiều consumer ghi đè state; S1–S5 (1 consumer, sharding theo khoá, worker-per-key, lock, CAS theo version); producer retry làm created vào log sau paid → outbox + version nghiệp vụ (P1–P4).
Liên quan · nhóm DatabaseMột luồng chạy lệnh, eviction, persistence, replication mất write, lock, Sentinel/Cluster với Laravel.
Liên quan · nhóm DatabaseFormat tên, số đo RAM, hash tag trong Cluster, tên key mà Laravel thật sự ghi và 5 bẫy prefix.
Liên quan · nhóm DatabasePRIMARY KEY giữ luật, Redis SET theo user + khoá học, Lua + Stream gom like cho bài hot.