Redis Persistence: Giải thích về RDB và AOF

Redis Persistence là cơ chế cho phép lưu trữ dữ liệu của Redis trên đĩa cứng để đảm bảo dữ liệu không bị mất khi máy chủ Redis restart hoặc bị sự cố. Redis hỗ trợ hai cơ chế lưu trữ dữ liệu chính là RDB (Redis Database File) và AOF (Append-Only File).

 

RDB (Redis Database File)

  • RDB là một cơ chế sao lưu dữ liệu thông qua việc tạo bản snapshot của cơ sở dữ liệu Redis tại một thời điểm cụ thể.
  • Khi sử dụng RDB, Redis sẽ sao lưu dữ liệu xuống một tệp có đuôi .rdb.
  • RDB có thể được cấu hình để sao lưu dữ liệu định kỳ hoặc khi có sự kiện quan trọng xảy ra, chẳng hạn như có một số lượng key thay đổi trong một khoảng thời gian nhất định.
  • RDB là cơ chế sao lưu nhanh và hiệu quả vì nó sử dụng một quá trình hoàn chỉnh để sao lưu dữ liệu.

 

AOF (Append-Only File)

  • AOF là cơ chế sao lưu dữ liệu bằng cách ghi tất cả các hoạt động của cơ sở dữ liệu vào một tệp nhật ký.
  • Khi sử dụng AOF, Redis sẽ viết mọi câu lệnh write (SET, DELETE, v.v.) vào tệp nhật ký.
  • AOF có thể được cấu hình để ghi nhật ký theo cơ sở vòng lặp thời gian hoặc theo cơ sở sự kiện.
  • AOF có thể kích hoạt phục hồi dữ liệu khi Redis khởi động lại bằng cách tái thực hiện lại tất cả các hoạt động được ghi trong tệp nhật ký.

 

Bạn có thể chọn sử dụng RDB, AOF hoặc cả hai tùy thuộc vào yêu cầu và môi trường của ứng dụng. RDB thường được sử dụng để sao lưu dữ liệu định kỳ và sử dụng ít tài nguyên hơn, trong khi AOF thường được sử dụng để đảm bảo tính bền vững và độ tin cậy cao hơn. Một số ứng dụng sử dụng cả hai cơ chế để đảm bảo bảo mật và khả năng phục hồi tối ưu