โดยทั่วไปมีสองประเภทหลักที่มีอยู่: async snapsnots และfsync()
. เรียกว่า RDB และ AOF ตามลำดับ เพิ่มเติมเกี่ยวกับโหมดการติดตาในหน้าอย่างเป็นทางการ
การจัดการสัญญาณของกระบวนการดีมอนจะซิงค์กับดิสก์เมื่อได้รับ SIGTERM เป็นต้นดังนั้นข้อมูลจะยังคงอยู่ที่นั่นหลังจากรีบูต ฉันคิดว่าภูตหรือระบบปฏิบัติการต้องขัดข้องก่อนที่คุณจะเห็นความเสียหายของความสมบูรณ์แม้ว่าจะมีการตั้งค่าเริ่มต้น (สแน็ปช็อต RDB)
การตั้งค่า AOF ใช้ไฟล์ Append Only ที่บันทึกคำสั่งที่เซิร์ฟเวอร์ได้รับและสร้างฐานข้อมูลใหม่ตั้งแต่เริ่มต้นเมื่อเริ่มเย็นจากไฟล์ที่บันทึกไว้ นโยบายการซิงค์ดิสก์เริ่มต้นคือการล้างหนึ่งครั้งทุกวินาที (IIRC) แต่สามารถตั้งค่าให้ล็อกและเขียนทุกคำสั่งได้
การใช้ทั้งสแน็ปช็อตและบันทึกส่วนเพิ่มดูเหมือนจะให้ทั้งระยะยาว ไม่ต้องคำนึงหากฉันพลาดไม่กี่วินาทีของข้อมูลพร้อมบันทึกที่ปลอดภัยกว่า แต่มีค่าใช้จ่ายเพิ่มขึ้น Redis รองรับการทำคลัสเตอร์นอกกรอบดังนั้นการจำลองแบบจึงสามารถทำได้เช่นกัน
ฉันใช้การตั้งค่า RDB เริ่มต้นด้วยตัวเองและบันทึกสแนปชอตไปยัง FTP ระยะไกล ฉันยังไม่เห็นความล้มเหลวที่ทำให้ข้อมูลสูญหายเลย ความล้มเหลวของฮาร์ดแวร์เฉียบพลันหรือไฟฟ้าดับเป็นไปได้มากที่สุด แต่ฉันโฮสต์บน VPS มีโอกาสเกิดขึ้นบ้าง :)