Rumah >pangkalan data >Redis >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.
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.
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.
Kelebihan RDB:
Kelemahan RDB:
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 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.
Kelebihan AOF kegigihan:
Kelemahan kegigihan AOF:
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!