Rumah >pangkalan data >Redis >Analisis mekanisme kegigihan Redis
Redis ialah pangkalan data dalam memori sumber terbuka berprestasi tinggi, sering digunakan dalam senario seperti caching, baris gilir tugas dan perisian tengah mesej. Walau bagaimanapun, memandangkan Redis beroperasi berdasarkan memori, situasi yang tidak normal seperti gangguan kuasa akan menyebabkan kehilangan data Oleh itu, Redis menyediakan dua mekanisme kegigihan untuk memastikan keselamatan dan kebolehpercayaan data di bawah.
RDB (pangkalan data redis) ialah kaedah kegigihan lalai Redis. Apabila syarat tertentu dipenuhi, Redis akan menulis petikan data dalam ingatan ke fail RDB pada cakera. Format fail RDB adalah binari dan mengandungi semua maklumat pasangan nilai kunci pangkalan data pada titik masa semasa.
Kelebihan kegigihan RDB ialah ia mengambil sedikit ruang dan memulihkan data dengan cepat, kerana anda hanya perlu memuatkan fail RDB ke dalam memori.
Terdapat dua cara untuk mencetuskan kegigihan RDB:
1) Operasi manual
Laksanakan perintah SAVE atau BGSAVE pada klien Redis untuk mencetuskan kegigihan RDB secara manual. Perintah SAVE akan menyekat pelayan Redis dan tidak akan kembali sehingga fail RDB ditulis BGSAVE membenarkan pelayan Redis melakukan operasi kegigihan RDB di latar belakang dan tidak akan menyekat perkhidmatan biasa pelayan Redis.
2) Pencetusan automatik
Konfigurasikan peraturan pencetus automatik Redis dan laksanakan operasi kegigihan RDB secara automatik apabila peraturan itu dipenuhi. Ia boleh dikonfigurasikan melalui tetapan berikut dalam fail redis.conf:
simpan 900 1
simpan 300 10
simpan 60 10000
Tetapan di sini bermakna apabila terdapat sekurang-kurangnya Apabila 1 pasangan nilai kunci berubah, sekurang-kurangnya 10 pasangan nilai kunci berubah dalam masa 300 saat, dan sekurang-kurangnya 10,000 pasangan nilai kunci berubah dalam masa 60 saat, operasi kegigihan RDB dicetuskan. Ambil perhatian bahawa jika berbilang peraturan ditetapkan, Redis akan melaksanakan operasi kegigihan RDB dalam set pesanan.
Kegigihan AOF (tambah fail sahaja) ialah mekanisme kegigihan berasaskan tambahan. Apabila Redis menerima arahan untuk mengubah suai pangkalan data, ia bukan sahaja akan dilaksanakan, tetapi juga dilampirkan pada penghujung fail AOF.
Kelebihan kegigihan AOF ialah data lebih selamat, kerana setiap operasi untuk mengubah suai pangkalan data direkodkan dalam AOF, memastikan kehilangan data yang minimum, dan format teks dalam fail AOF lebih mudah dibaca dan difahami .
Terdapat dua cara untuk mencetuskan kegigihan AOF:
1) Operasi manual
Laksanakan arahan BGREWRITEAOF pada klien Redis untuk mencetuskan kegigihan AOF secara manual. Perintah ini akan melaksanakan operasi penulisan semula fail AOF di latar belakang, merekodkan semula arahan yang dilaksanakan oleh Redis ke dalam fail AOF baharu dan hanya mengekalkan arahan yang mempengaruhi pangkalan data.
2) Pencetusan automatik
Anda boleh mencetuskan peraturan secara automatik melalui tetapan konfigurasi dalam fail redis.conf Apabila peraturan dipenuhi, fail AOF akan ditulis semula secara automatik:
auto- aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
Tetapan di sini menunjukkan bahawa apabila saiz fail AOF melebihi 64MB atau saiz fail AOF baharu selepas AOF menulis semula adalah yang sedia ada Jika saiz fail AOF melebihi 100 kali, penulisan semula fail AOF akan dicetuskan.
Ringkasnya, kegigihan RDB dan kegigihan AOF mempunyai kelebihan dan kekurangan mereka sendiri, dan harus dipilih dan dikonfigurasikan mengikut situasi sebenar. Pada masa yang sama, perlu diingatkan bahawa semasa menggunakan mekanisme kegigihan, sandaran data dan ujian pemulihan juga perlu dilakukan untuk memastikan keselamatan data.
Atas ialah kandungan terperinci Analisis mekanisme kegigihan Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!