+25

Redis mất dữ liệu khi restart

Meta Crew

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


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí