Rumah > pangkalan data > Redis > teks badan

Kegigihan Redis: pengenalan dan perbezaan antara RDB dan AOF

王林
Lepaskan: 2023-06-20 23:55:42
asal
2726 orang telah melayarinya

Redis ialah pangkalan data bukan perkaitan yang terutamanya berdasarkan storan memori, yang menjadikan Redis berprestasi baik dalam senario dengan konkurensi tinggi serta keperluan kelajuan baca dan tulis yang tinggi. Walau bagaimanapun, kerana Redis menyimpan data dalam ingatan, selepas pelayan ranap atau dimulakan semula, data yang disimpan sebelum ini dalam memori akan dikosongkan dan data tidak akan berterusan, yang mungkin menyebabkan masalah kehilangan data yang serius. Untuk menyelesaikan masalah ini, Redis menyediakan mekanisme kegigihan, terutamanya menggunakan dua strategi: RDB dan AOF. Artikel ini akan memperkenalkan secara terperinci mekanisme kegigihan RDB dan AOF Redis, serta perbezaannya.

Kegigihan RDB

Mekanisme kegigihan RDB adalah untuk menyimpan data dalam memori semasa Redis ke dalam fail cakera ini boleh menjadi syot kilat atau storan biasa Untuk berbilang syot kilat, Redis menyimpan fail syot kilat pada cakera supaya fail syot kilat boleh digunakan untuk memulihkan data dalam memori pelayan selepas pelayan Redis dimulakan semula.

Snapshot RDB

Apabila kegigihan RDB dipilih, Redis akan menulis data pada masa semasa ke cakera dalam bentuk syot kilat. Proses ini dimampatkan, Redis boleh menulis berbilang syot kilat, dan selang antara setiap syot kilat boleh ditetapkan melalui fail konfigurasi Redis.conf.

Dalam Redis.conf, kita boleh menemui maklumat konfigurasi berikut:

# 快照持久化相关配置设置
save 900 1  ## 900秒(15分钟)之内至少发生1次数据变更,持久化快照
save 300 10  ## 300秒(5分钟)之内至少发生10次数据变更,持久化快照
save 60 10000  ## 60秒之内至少发生10000次数据变更,持久化快照
Salin selepas log masuk

Konfigurasi di atas menunjukkan bahawa setiap 15 minit dalam Redis, atau 10 kali atau 10,000 kali dalam Redis Semasa penambahan dan pemadaman data operasi, Redis secara automatik akan menyimpan data dalam memori ke cakera.

Kaedah syot kilat RDB boleh mengelakkan kehilangan data dengan berkesan selepas Redis tidak berfungsi, dan juga boleh digunakan untuk sandaran data dan tujuan lain. Walau bagaimanapun, jika Redis ranap atau dimulakan semula dan data dalam fail syot kilat terbaharu tidak wujud atau tidak lengkap, data akan hilang, jadi adalah disyorkan untuk tidak menetapkan masa syot kilat terlalu lama.

Kebaikan dan keburukan RDB

Kelebihan RDB:

  1. Kaedah kegigihan RDB adalah berdasarkan syot kilat, yang boleh memastikan integriti dan ketersediaan data dengan berkesan.
  2. Saiz fail kaedah kegigihan RDB agak kecil dan mudah disimpan.
  3. Kaedah kegigihan RDB sesuai untuk sandaran data berskala besar, migrasi dan senario lain.

Kelemahan RDB:

  1. Kaedah kegigihan RDB menggunakan satu fail untuk menyimpan data Setiap penulisan perlu menulis ganti fail sebelumnya, yang terdedah kepada kehilangan data .
  2. Kekerapan kegigihan RDB ditentukan oleh masa dan kekerapan perubahan data terlalu lama atau kekerapan perubahan data yang rendah akan menyebabkan kehilangan data.

Kegigihan AOF

Kegigihan AOF (Tambah Hanya Fail) menyimpan arahan menulis dalam bentuk menambah fail. Apabila perkhidmatan dimulakan semula, Redis akan melakukan pemulihan data mengikut arahan yang disimpan dalam fail ini. Kaedah kegigihan AOF boleh memastikan storan kekal data Walaupun Redis tidak berfungsi atau dimulakan semula, data boleh dipulihkan.

Format fail AOF

Format fail AOF ialah fail log data yang dilampirkan pada fail untuk setiap operasi tulis. Setiap baris rekod dalam fail log menyimpan arahan Redis, yang merupakan transaksi Redis yang lengkap Urus niaga ini akan dilampirkan pada penghujung fail log AOF.

Dalam mod kegigihan AOF, Redis akan menulis setiap arahan baharu pada fail dalam cakera dalam bentuk tambahkan tulisan, jadi saiz fail AOF sentiasa berkembang. Apabila fail AOF melebihi had saiz pratetap, Redis secara automatik akan mencetuskan penulisan semula fail AOF Proses ini akan membersihkan data yang telah tamat tempoh dalam pangkalan data dan menukarnya menjadi petikan untuk penyimpanan. Tujuan penulisan semula fail AOF adalah untuk memampatkan saiz fail AOF, untuk mengelakkan mengurangkan prestasi Redis disebabkan oleh fail AOF yang terlalu besar.

Kebaikan dan keburukan AOF kegigihan

Kelebihan AOF kegigihan:

  1. Mekanisme kegigihan AOF adalah berdasarkan rekod arahan, yang boleh menjadi lebih tepat Pemulihan serta-merta sejarah dan garis masa perubahan data.
  2. Fail AOF boleh disimpan dalam berbilang fail berbeza. Ciri ini boleh mengelakkan masalah penurunan prestasi baca dan tulis yang disebabkan oleh satu fail yang terlalu besar.
  3. Kaedah kegigihan AOF sangat sesuai untuk statistik log dan pemprosesan.

Kelemahan kegigihan AOF:

  1. Fail AOF lebih besar daripada fail syot kilat dan oleh itu menduduki lebih banyak kapasiti storan.
  2. Kaedah kegigihan AOF memerlukan lebih banyak sumber sistem kerana arahan perlu direkodkan dalam fail.
  3. Penulisan semula fail AOF ialah proses yang memakan prestasi, dan proses ini akan menjejaskan prestasi baca dan tulis Redis.

Perbezaan antara RDB dan AOF

  1. RDB ialah sandaran penuh, manakala AOF ialah sandaran tambahan.
  2. Secara lalai, Redis menggunakan kegigihan RDB dan kegigihan AOF perlu dihidupkan secara manual.
  3. Dalam mod kegigihan AOF, Redis akan merekodkan setiap operasi arahan tulis dan menambahkan rekod tulis baharu pada penghujung log. Dalam mod kegigihan RDB, Redis akan menulis petikan data dalam keadaan semasa dalam memori ke cakera.
  4. Kaedah kegigihan AOF lebih selamat dan boleh dipercayai, tetapi kapasiti fail AOF secara relatifnya lebih besar, manakala kapasiti fail RDB secara relatifnya lebih kecil.

Kesimpulan

Mekanisme kegigihan Redis direka untuk mengelakkan kehilangan data apabila Redis turun atau dimulakan semula. Kegigihan RDB dan kegigihan AOF ialah dua strategi yang disediakan oleh Redis Perbezaan teras mereka terletak pada cara rakaman data dan kapasiti fail storan. Apabila menggunakan Redis untuk pemprosesan data, kami boleh memilih kaedah kegigihan yang berbeza mengikut keperluan sebenar kami, supaya Redis boleh berprestasi lebih baik dalam penyimpanan dan pemulihan data.

Atas ialah kandungan terperinci Kegigihan Redis: pengenalan dan perbezaan antara RDB dan AOF. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.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!