Penyelesaian kegigihan Redis terbahagi kepada dua jenis: RDB dan AOF.
Kegigihan RDB boleh dilaksanakan secara manual atau berkala mengikut konfigurasi Fungsinya adalah untuk menyimpan status pangkalan data pada masa tertentu ke fail RDB ialah a dimampatkan Fail binari yang melaluinya keadaan pangkalan data pada masa tertentu boleh dipulihkan. Memandangkan fail RDB disimpan pada cakera keras, walaupun redis ranap atau keluar, selagi fail RDB wujud, ia boleh digunakan untuk memulihkan keadaan pangkalan data.
Fail RDB boleh dijana melalui SAVE atau BGSAVE.
Arahan SAVE akan menyekat proses redis sehingga fail RDB dijana Semasa tempoh penyekatan proses, redis tidak boleh memproses sebarang permintaan arahan, yang jelas tidak sesuai.
BGSAVE akan menghentikan proses anak, dan kemudian proses anak akan bertanggungjawab untuk menjana fail RDB Proses induk boleh terus memproses permintaan arahan tanpa menyekat proses tersebut.
AOF berbeza daripada RDB merekodkan status pangkalan data dengan menyimpan arahan tulis yang dilaksanakan oleh pelayan redis.
AOF melaksanakan mekanisme kegigihan melalui tiga langkah: tambah, tulis dan segerakkan.
Apabila kegigihan AOF diaktifkan, selepas pelayan melaksanakan arahan tulis, arahan tulis akan dilampirkan pada penghujung penimbal aof_buf
Sebelum setiap gelung acara berakhir dalam pelayan, fungsi flushAppendOnlyFile akan dipanggil untuk menentukan sama ada untuk menyimpan kandungan aof_buf ke fail AOF Ini boleh ditentukan dengan mengkonfigurasi appendfsync.
always ##aof_buf内容写入并同步到AOF文件 everysec ##将aof_buf中内容写入到AOF文件,如果上次同步AOF文件时间距离现在超过1秒,则再次对AOF文件进行同步 no ##将aof_buf内容写入AOF文件,但是并不对AOF文件进行同步,同步时间由操作系统决定
Jika tidak ditetapkan, pilihan lalai ialah everysec, kerana walaupun sentiasa adalah yang paling selamat (hanya satu arahan tulis gelung peristiwa akan hilang), prestasinya lemah, dan setiap saat mod mungkin hanya kehilangan 1 saat data, manakala kecekapan mod tiada adalah serupa dengan setiap detik, tetapi semua data arahan tulis selepas penyegerakan terakhir fail AOF akan hilang.
Atas ialah kandungan terperinci Apakah penyelesaian kegigihan dalam redis?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!