Lập trình 22/09/2026 5 phút

Persistence trong Redis: RDB và AOF — Redis có mất dữ liệu khi chết không, và đánh đổi độ bền vs hiệu năng

Redis sống trong RAM, nên câu hỏi sống còn: tắt đi có mất dữ liệu không? Redis có hai cơ chế ghi xuống đĩa với hai triết lý khác nhau. Bài này đo thật trong redis-lab: RDB snapshot (BGSAVE tạo dump.rdb nhỏ gọn, nhưng mất dữ liệu giữa hai lần chụp); AOF ghi mọi lệnh với appendfsync everysec (bền hơn, mất tối đa 1 giây, file lớn hơn). Cùng 1000 key, RDB 16.881 byte vs AOF 21.161 byte. Chọn đúng theo vai trò cache hay store.

Lập trình 22/09/2026 5 phút

Bộ nhớ và big key trong Redis: một key 34 MB có thể làm nghẽn cả server, và vì sao đừng bao giờ KEYS *

Redis chạy một luồng — nên một lệnh O(n) trên key khổng lồ chặn mọi client khác. Bài này đo thật trong redis-lab: một hash 500.000 field chiếm 34,5 MB; HGETALL trên nó mất 224ms (so với 1ms cho hash nhỏ) và suốt thời gian đó cả server khựng; và KEYS * quét toàn bộ keyspace O(n) chặn server, trong khi SCAN duyệt từng lô không block. Hiểu để một key hay một lệnh không kéo sập Redis.

Lập trình 22/09/2026 6 phút

Tổng kết sê-ri Redis: khi nào dùng Redis khi nào không, và checklist vận hành đúc kết từ 11 bài đo thật

Mười một bài, hàng chục phép đo thật — giờ gộp lại thành quyết định dùng được. Bài tổng kết này so Redis với Memcached và database để biết khi nào chọn cái nào, một cây quyết định có nên dùng Redis, và một checklist vận hành ánh xạ về từng bài: kiểu dữ liệu, pipeline, Lua nguyên tử, TTL và eviction, Streams, lock, rate limit, persistence, tránh big key. Redis đi TRƯỚC database, không thay database.