Redis: Zero to Hero

Sê-ri 40 phần về Redis, mỗi phần một phép đo chạy được trên Docker.

19/40 phần đã đăng Cơ sở dữ liệu
1 Redis là gì và không là gì Redis nhanh hơn PostgreSQL 4,1 lần khi ghi — không phải 100 lần. Và phần lớn khoảng cách đó là độ bền, không phải kiến trúc. 01/09/2026 · 5 phút đọc 2 Một luồng mà nhanh Một kết nối duy nhất đi từ 25.850 lên 1.136.364 ops/s mà không đổi gì trong Redis. Nút thắt không phải CPU. 01/09/2026 · 6 phút đọc 3 Chuỗi và bộ nhớ thật Cùng một chuỗi 1024 byte tốn 1.328 hay 2.608 byte tuỳ cách bạn ghi nó vào. Chênh 96%. 01/09/2026 · 6 phút đọc 4 Hash, List, Set, Sorted Set Tập 512 số nguyên tốn 2,6 byte mỗi số. Thêm một phần tử nữa là 48,2 — gấp 18,6 lần. 01/09/2026 · 5 phút đọc 5 Mã hoá nội bộ Cùng 199 trường, cùng dữ liệu: 1.840 byte hay 16.256 byte, tuỳ khoá đó từng lớn tới đâu. 01/09/2026 · 5 phút đọc 6 Bitmap và HyperLogLog Đếm một triệu phần tử khác nhau bằng 14.384 byte, sai số 0,12%. Và PFADD còn nhanh hơn SADD. 01/09/2026 · 5 phút đọc 7 Stream Một tiêu thụ quên XACK làm bộ nhớ phình 19,7 lần — và cắt bớt stream không cứu được. 01/09/2026 · 6 phút đọc 8 Hạn dùng khoá SET xoá mất TTL nhưng APPEND thì không. Và Redis dọn 100.000 khoá hết hạn trong dưới một giây. 01/09/2026 · 5 phút đọc 9 Chính sách loại bỏ volatile-lru khi không khoá nào có TTL chính là noeviction. Và LRU của Redis chỉ hơn random một chút. 01/09/2026 · 6 phút đọc 10 Phân mảnh bộ nhớ Xoá 270.000 khoá mà RSS không giảm một byte. Và bật activedefrag xong vẫn không có gì xảy ra. 01/09/2026 · 6 phút đọc 11 Lệnh chậm làm nghẽn cả máy chủ Một lệnh KEYS đẩy độ trễ PING từ 1 ms lên 263 ms. Và DEL còn tệ hơn KEYS. 01/09/2026 · 6 phút đọc 12 Pipeline Đường ống 10.000 cho 47,9 lần thông lượng. Đường ống 100.000 thì tụt còn một nửa. 01/09/2026 · 5 phút đọc 13 Giao dịch MULTI/EXEC Lệnh lỗi giữa giao dịch không làm huỷ gì cả — các lệnh khác vẫn chạy và vẫn giữ kết quả. 01/09/2026 · 5 phút đọc 14 Lua script Script chạy 3 giây thì mọi khách hàng khác chờ đúng 3 giây. Và bộ nhớ cache script không bao giờ tự dọn. 01/09/2026 · 6 phút đọc 15 Functions Khởi động lại Redis: script biến mất, function còn nguyên. Nhưng tốc độ thì y hệt nhau. 01/09/2026 · 5 phút đọc 16 Pub/Sub 50 bản tin gửi trong lúc thuê bao mất kết nối: nhận lại được 0. Và thuê bao đọc chậm thì bị Redis ngắt. 01/09/2026 · 6 phút đọc 17 Danh sách chờ và hàng đợi BLPOP nhận việc sau 0,3 ms; vòng lặp hỏi mỗi 100 ms mất 50,6 ms và tốn gấp 10 lần số lệnh. 01/09/2026 · 5 phút đọc 18 RDB Ghi đè 7 triệu khoá trong lúc chụp làm copy-on-write nhảy từ 1,4 MB lên 87 MB — mà INFO memory không thấy gì. 01/09/2026 · 5 phút đọc 19 AOF Giết Redis bằng SIGKILL với appendfsync no: mất 0 bản ghi. Lặp ba lần đều vậy. 01/09/2026 · 6 phút đọc

Còn 21 phần nữa sẽ lần lượt được đăng.