Nếu bạn thích xem theo dạng Video: Tiktok.
Mặc đinh khi restart thì Redis mất dữ liệu. Làm thế nào để tránh mất dữ liệu?
Có hai phương pháp khắc phục: sử dụng RDB (Redis Database) hoặc AOF (Append Only File)
Redis Database
RDB là phương pháp tạo snapshots và khôi phục dữ liệu thủ công bằng câu lệnh Redis, mặc định tệp tin snapshots tên là dump.rdb
. Để tạo snapshots bạn chạy câu lệnh SAVE
hoặc BGSAVE
, ví dụ:
save 30 500
Câu lệnh trên chỉ định Redis tự động tạo snapshots mỗi 30 giây nếu có ít nhất 500 key thay đổi.
Append Only File
AOF là cấu hình để Redis lưu toàn bộ write operation đã thực thi vào tệp tin. Khi Redis bị restart nó sẽ chạy lại tệp tin đó. Bạn bật AOF lên trong tệp tin cấu hình Redis như sau:
sudo nano /path/to/redis.conf
Tìm appendonly
và sửa thành yes
:
appendonly yes
Khi bạn bật thuộc tính này lên bất kì câu lệnh nào làm thay đổi dữ liệu Redis sẽ được lưu vào AOF. Lưu ý khi bật AOF có ảnh hưởng tới hiệu suất của Redis. Nếu máy chủ đủ mạnh thì bạn nên chạy câu lệnh snapshots từng giây, phương pháp này không gây ảnh hưởng tới hiệu suất của Redis. Tìm hiểu chi tiết tại Redis persistence.
DevOps VN
Bài viết gốc: Redis mất dữ liệu khi restart