Kegigihan Redis: pengenalan dan perbezaan antara RDB dan AOF
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次数据变更,持久化快照
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:
- Kaedah kegigihan RDB adalah berdasarkan syot kilat, yang boleh memastikan integriti dan ketersediaan data dengan berkesan.
- Saiz fail kaedah kegigihan RDB agak kecil dan mudah disimpan.
- Kaedah kegigihan RDB sesuai untuk sandaran data berskala besar, migrasi dan senario lain.
Kelemahan RDB:
- Kaedah kegigihan RDB menggunakan satu fail untuk menyimpan data Setiap penulisan perlu menulis ganti fail sebelumnya, yang terdedah kepada kehilangan data .
- 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:
- Mekanisme kegigihan AOF adalah berdasarkan rekod arahan, yang boleh menjadi lebih tepat Pemulihan serta-merta sejarah dan garis masa perubahan data.
- 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.
- Kaedah kegigihan AOF sangat sesuai untuk statistik log dan pemprosesan.
Kelemahan kegigihan AOF:
- Fail AOF lebih besar daripada fail syot kilat dan oleh itu menduduki lebih banyak kapasiti storan.
- Kaedah kegigihan AOF memerlukan lebih banyak sumber sistem kerana arahan perlu direkodkan dalam fail.
- Penulisan semula fail AOF ialah proses yang memakan prestasi, dan proses ini akan menjejaskan prestasi baca dan tulis Redis.
Perbezaan antara RDB dan AOF
- RDB ialah sandaran penuh, manakala AOF ialah sandaran tambahan.
- Secara lalai, Redis menggunakan kegigihan RDB dan kegigihan AOF perlu dihidupkan secara manual.
- 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.
- 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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Mod Redis cluster menyebarkan contoh Redis ke pelbagai pelayan melalui sharding, meningkatkan skalabilitas dan ketersediaan. Langkah -langkah pembinaan adalah seperti berikut: Buat contoh Redis ganjil dengan pelabuhan yang berbeza; Buat 3 contoh sentinel, memantau contoh redis dan failover; Konfigurasi fail konfigurasi sentinel, tambahkan pemantauan maklumat contoh dan tetapan failover; Konfigurasi fail konfigurasi contoh Redis, aktifkan mod kluster dan tentukan laluan fail maklumat kluster; Buat fail nodes.conf, yang mengandungi maklumat setiap contoh Redis; Mulakan kluster, laksanakan perintah Buat untuk membuat kluster dan tentukan bilangan replika; Log masuk ke kluster untuk melaksanakan perintah maklumat kluster untuk mengesahkan status kluster; buat

Cara Mengosongkan Data Redis: Gunakan perintah Flushall untuk membersihkan semua nilai utama. Gunakan perintah flushdb untuk membersihkan nilai utama pangkalan data yang dipilih sekarang. Gunakan Pilih untuk menukar pangkalan data, dan kemudian gunakan FlushDB untuk membersihkan pelbagai pangkalan data. Gunakan perintah DEL untuk memadam kunci tertentu. Gunakan alat REDIS-CLI untuk membersihkan data.

Menggunakan Arahan Redis memerlukan langkah -langkah berikut: Buka klien Redis. Masukkan arahan (nilai kunci kata kerja). Menyediakan parameter yang diperlukan (berbeza dari arahan ke arahan). Tekan Enter untuk melaksanakan arahan. Redis mengembalikan tindak balas yang menunjukkan hasil operasi (biasanya OK atau -r).

Untuk membaca giliran dari Redis, anda perlu mendapatkan nama giliran, membaca unsur -unsur menggunakan arahan LPOP, dan memproses barisan kosong. Langkah-langkah khusus adalah seperti berikut: Dapatkan nama giliran: Namakannya dengan awalan "giliran:" seperti "giliran: my-queue". Gunakan arahan LPOP: Keluarkan elemen dari kepala barisan dan kembalikan nilainya, seperti LPOP Queue: My-Queue. Memproses Baris kosong: Jika barisan kosong, LPOP mengembalikan nihil, dan anda boleh menyemak sama ada barisan wujud sebelum membaca elemen.

Menggunakan REDIS untuk mengunci operasi memerlukan mendapatkan kunci melalui arahan SETNX, dan kemudian menggunakan perintah luput untuk menetapkan masa tamat tempoh. Langkah-langkah khusus adalah: (1) Gunakan arahan SETNX untuk cuba menetapkan pasangan nilai utama; (2) Gunakan perintah luput untuk menetapkan masa tamat tempoh untuk kunci; (3) Gunakan perintah DEL untuk memadam kunci apabila kunci tidak lagi diperlukan.

Redis menggunakan jadual hash untuk menyimpan data dan menyokong struktur data seperti rentetan, senarai, jadual hash, koleksi dan koleksi yang diperintahkan. Redis berterusan data melalui snapshots (RDB) dan menambah mekanisme tulis sahaja (AOF). Redis menggunakan replikasi master-hamba untuk meningkatkan ketersediaan data. Redis menggunakan gelung acara tunggal untuk mengendalikan sambungan dan arahan untuk memastikan atom dan konsistensi data. Redis menetapkan masa tamat tempoh untuk kunci dan menggunakan mekanisme memadam malas untuk memadamkan kunci tamat tempoh.

Cara terbaik untuk memahami kod sumber REDIS adalah dengan langkah demi langkah: Dapatkan akrab dengan asas -asas Redis. Pilih modul atau fungsi tertentu sebagai titik permulaan. Mulakan dengan titik masuk modul atau fungsi dan lihat baris kod mengikut baris. Lihat kod melalui rantaian panggilan fungsi. Berhati -hati dengan struktur data asas yang digunakan oleh REDIS. Kenal pasti algoritma yang digunakan oleh Redis.

Redis, sebagai middleware mesej, menyokong model penggunaan pengeluaran, dapat meneruskan mesej dan memastikan penghantaran yang boleh dipercayai. Menggunakan Redis sebagai middleware mesej membolehkan pematuhan latensi rendah, boleh dipercayai dan berskala.
