Rumah > Artikel > pangkalan data > Sandaran berterusan dan pemulihan Redis
Redis ialah pangkalan data dalam memori berprestasi tinggi yang kelebihannya terletak pada bacaan data pantas dan keupayaan serentak yang tinggi. Walau bagaimanapun, oleh kerana data semua disimpan dalam ingatan, sebaik sahaja pelayan ranap atau terputus, data akan hilang. Untuk mengelakkan situasi ini, Redis menyediakan fungsi storan yang berterusan untuk menulis data dalam memori ke cakera untuk pemulihan data apabila diperlukan.
Redis mempunyai dua kaedah kegigihan: petikan RDB dan log AOF. Pelaksanaan, kelebihan, kelemahan, dan senario yang boleh digunakan bagi kedua-dua kaedah ini akan diterangkan di bawah.
Petikan RDB ialah mekanisme penjimatan petikan bagi Redis Ia menyimpan data dalam memori Redis ke cakera dalam selang masa yang ditentukan dan menjana fail RDB . Fail ini ialah fail binari yang mengandungi pasangan nilai kunci untuk semua pangkalan data. Apabila melakukan pemulihan data, anda hanya perlu memuatkan fail ke dalam memori Redis.
Kelebihan:
(1) Ia mengambil sedikit ruang, memelihara integriti data dan menjimatkan ruang cakera.
(2) Masa pemulihan data adalah singkat, dan lebih cepat untuk memulihkan fail RDB daripada memainkan semula log AOF.
Kelemahan:
(1) Data fail RDB hanya akan disimpan sekali dalam selang masa yang ditetapkan Jika Redis turun semasa masa simpanan biasa, kehilangan data akan berlaku.
(2) Sifat masa nyata data dalam fail RDB tidak tinggi Jika ia disimpan pada selang masa yang terlalu lama, ia akan menyebabkan masalah ketidakkonsistenan data untuk perniagaan.
Senario yang boleh digunakan:
Ia lebih sesuai untuk senario perniagaan dengan jumlah data yang besar dan kekerapan membaca dan menulis yang rendah, seperti aplikasi sosial, aplikasi e-dagang, dsb.
AOF adalah singkatan dari Append-Only File, iaitu fail tambahan sahaja dan merupakan satu lagi kaedah kegigihan Redis. Log AOF menjana rekod log untuk setiap operasi berdasarkan Redis Apabila memulihkan data, anda hanya perlu melakukan operasi ini semula.
Kelebihan:
(1) AOF boleh mencapai hampir tiada kehilangan data Walaupun terdapat situasi yang tidak normal seperti masa mati atau gangguan bekalan elektrik, integriti data boleh dijamin sebaik mungkin. .
(2) AOF merekodkan setiap operasi dalam masa nyata, data adalah sangat masa nyata, dan saiz log dan kekerapan rakaman boleh dikawal.
Kelemahan:
(1) Fail AOF agak besar dan mungkin menggunakan lebih banyak ruang cakera.
(2) Fail log AOF perlu ditulis semula dari semasa ke semasa, yang juga akan menyebabkan beban prestasi.
Senario yang berkenaan:
Sesuai untuk senario aplikasi dengan keperluan integriti data yang tinggi, seperti industri kewangan, industri farmaseutikal, dsb.
Redis menyediakan dua arahan sandaran yang biasa digunakan: BGSAVE dan SAVE.
BGSAVE akan menyimpan syot kilat di latar belakang dan menjana fail RDB Ia tidak akan menyekat perkhidmatan baca dan tulis Redis Oleh itu, ia mudah dieksploitasi oleh ribut pekat dan menyebabkan perkhidmatan Redis tidak tersedia, jadi ia perlu. untuk digunakan dengan berhati-hati.
SAVE akan menyekat semua permintaan Redis semasa Redis menyimpan petikan dan menjana fail RDB Ia tidak akan terus menerima permintaan sehingga fail RDB berjaya dijana. Dalam kes volum data yang besar atau penggunaan memori yang tinggi, arahan ini boleh menyebabkan perkhidmatan disekat untuk masa yang lama.
Cara untuk memulihkan data juga sangat mudah Fail RDB dibaca secara automatik untuk pemulihan apabila Redis bermula. Jika perlu, anda juga boleh secara manual melaksanakan arahan untuk melaksanakan semula log AOF untuk memulihkan semua data.
Ringkasan:
Cara memilih kaedah kegigihan yang sesuai bergantung pada senario aplikasi khusus dan keperluan perniagaan. Jika anda mempunyai keperluan yang tinggi untuk integriti data, anda boleh memberi keutamaan untuk menggunakan kaedah log AOF jika aplikasi tidak sensitif kepada data masa nyata, anda boleh menggunakan kaedah syot kilat RDB, dan anda juga boleh menggunakan dua kaedah kegigihan untuk; mencapai hasil pemulihan yang lebih baik. Pada masa yang sama, sandaran dan pemulihan data yang kerap juga merupakan salah satu cara penting untuk memastikan keselamatan data.
Atas ialah kandungan terperinci Sandaran berterusan dan pemulihan Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!