Rumah > pangkalan data > Redis > teks badan

Terdapat dua kaedah kegigihan dalam Redis Mengapakah dua kaedah kegigihan diperlukan?

青灯夜游
Lepaskan: 2021-11-04 10:16:07
ke hadapan
1337 orang telah melayarinya

Terdapat dua jenis kegigihan (AOF dan RDB) dalam Redis Artikel berikut akan membawa anda memahami kedua-dua jenis kegigihan ini, melihat kelebihan dan kekurangannya, dan memperkenalkan sebab Redis memerlukan dua. jenis kegigihan, harap ia membantu semua orang!

Terdapat dua kaedah kegigihan dalam Redis Mengapakah dua kaedah kegigihan diperlukan?

Dua kaedah kegigihan Redis

Seperti yang kita sedia maklum, Redis menyediakan dua kaedah kegigihan: AOF dan RDB Mari kita ulas secara ringkas.

Kegigihan RDB

  • Kegigihan RDB, adalah untuk menyimpan status pangkalan data pada titik masa semasa ke cakera , juga dikenali sebagai Kegigihan syot kilat.
  • RDB boleh dicetuskan secara manual atau dilaksanakan secara berkala mengikut konfigurasi pelayan.
  • Fail yang dijana oleh RDB ialah fail binari termampat, yang melaluinya pangkalan data boleh dipulihkan kepada keadaan pada masa itu.
  • Redis menyediakan arahan kegigihan RDB latar depan
  • dan arahan kegigihan RDB latar belakang SAVE Apabila dilaksanakan di latar depan, arahan Redis lain akan disekat, manakala apabila dilaksanakan di latar belakang, Redis boleh terus memproses. perintah pelanggan. BGSAVE
  • Dalam fail binari RDB, data pasangan nilai kunci disimpan, menggunakan pengekodan tersuai dimampatkan dengan pengesahan. Ia boleh ditukar kepada boleh dibaca melalui perintah
  • . od
  • Semasa replikasi tuan-hamba, replikasi penuh awal menggunakan fail RDB.
[Cadangan berkaitan:

Tutorial video Redis]

Kegigihan AOF

    Kegigihan AOF , nama penuh ialah
  • , yang bermaksud kaedah kegigihan yang dilampirkan, di mana arahan tulis disimpan dan bukannya data. Appen Only File
  • Proses kegigihan AOF dibahagikan kepada tiga langkah: penambahan arahan, penulisan fail dan penyegerakan fail.
  • Perintah tambah: Setiap kali pelayan Redis melaksanakan arahan tulis, ia akan menambahkan arahan tulis ke penghujung
  • penimbal status pelayan dalam format protokol AOF. aof_buf
  • Penulisan fail: Dalam Redis, sebelum setiap gelung peristiwa tamat, fungsi
  • dipanggil untuk menulis kandungan penimbal flushAppendOnlyFile ke fail AOF. aof_buf
  • Penyegerakan fail: Penyegerakan
  • merujuk kepada sama ada fail disegerakkan terus ke cakera apabila ia ditulis pada penimbal sistem pengendalian. Melalui konfigurasi, anda boleh memilih tiga kaedah penyegerakan: penyegerakan segera, penyegerakan setiap saat, dan tiada penyegerakan aktif tetapi dikawal oleh sistem pengendalian. Mengenai penimbalan I/O fail: synchttps://www.litreily.top/2018/10/25/io-cache/
  • Redis lebih suka menggunakan fail AOF untuk memulihkan data.
  • Fail AOF lebih besar daripada fail RDB kerana ia menyimpan arahan dan tidak dimampatkan.
  • Fail AOF boleh ditulis semula dengan kerap dengan
  • untuk mengurangkan arahan pendua, perintah tamat tempoh, arahan digabungkan, dsb. BGREWRITEAOF
  • Fail AOF menyokong penulisan semula latar belakang, yang dilaksanakan dalam bentuk
  • sub-proses. Proses kanak-kanak mempunyai salinan data proses pelayan, memastikan keselamatan data tanpa menggunakan kunci. Selain itu, AOF juga digunakan untuk menulis semula penimbal untuk menyelesaikan ketidakkonsistenan data. fork

Kebaikan dan keburukan kedua-dua jenis kegigihan

Kelebihan RDB

  • Saiz fail kecil dan sesuai untuk disalin untuk sandaran sejuk

  • Berbanding dengan AOF, kelajuan sandaran dan pemulihan lebih cepat

Kelemahan RDB

  • Kehilangan data

  • Bantu proses anak untuk melakukannya

    , yang memakan masa tertentu jumlah sumber memoriBGSAVE

Kelebihan AOF

  • Kurang kehilangan data

  • Tambah penimbal tulis, tiada pengalamatan diperlukan, Cepat

  • tambah-sahaja, tidak perlu melakukan pengalamatan cakera, kecekapan tinggi

Kelemahan AOF

  • Saiz fail besar

  • AOF perlu menulis

    setiap kali Selepas kegigihan AOF adalah dihidupkan, QPS akan berkurangan sedikit aof_buf

Mengapa Redis memerlukan dua jenis kegigihan?

Selepas semakan di atas, kita dapat melihat bahawa terdapat perbezaan yang jelas antara kegigihan RDB dan AOF.

  • Kandungan storan: RDB menyimpan data pada masa tertentu; AOF menyimpan arahan tulis yang dilaksanakan.

  • Saiz fail: Fail RDB lebih kecil;

  • Kaedah penulisan: RDB boleh menggunakan kaedah penulisan latar depan/latar belakang; AOF menggunakan kaedah menyimpan arahan dalam penimbal setiap kali arahan tulis dilaksanakan, dan boleh ditulis semula dengan kerap.

  • Kehilangan data: RDB kehilangan semua data daripada masa henti sehingga penyegerakan RDB terakhir; Beberapa saat data.

Berdasarkan perbandingan ini, kita dapat melihat bahawa Kegigihan RDB lebih sesuai untuk menyimpan data pada satu-satu masa dan menyalinnya ke tempat lain semasa replikasi tuan-hamba atau data penuh dimatikan -pemulihan bencana tapak , dan Kegigihan AOF lebih sesuai sebagai sandaran setempat kerana kehilangan data yang kurang, dan sebagai pemulihan kerosakan apabila Reids menutup telefon dan dimulakan semula. Ini pemahaman sayamengapa Redis memerlukan dua kaedah kegigihan.

Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Pengenalan kepada Pengaturcaraan! !

Atas ialah kandungan terperinci Terdapat dua kaedah kegigihan dalam Redis Mengapakah dua kaedah kegigihan diperlukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:juejin.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!