Apakah nama penuh Redis RDB? Mod operasi kegigihan data memori RDB Redis

Nama penuh RDB ialahRedis database.

  • Seperti namanya, RDB ialah pangkalan data Redis yang digunakan untuk menyimpan data.
  • Oleh itu, melalui kegigihan RDB, data yang disimpan dalam memori Redis ditulis ke fail RDB dan disimpan ke cakera untuk mencapai kegigihan.
  • Ciri Redis ialah ia boleh mengekalkan data, iaitu, menulis data dalam memori ke cakera untuk memastikan tiada data hilang, dan juga boleh memuatkan data dari cakera ke dalam memori.

Apakah nama penuh Redis RDB? Mod operasi kegigihan data memori RDB Redis

Operasi Redis pada mulanya semuanya berdasarkan memori, jadi prestasinya sangat tinggi, tetapi setelah program ditutup, data hilang.

Oleh itu, kita perlu menulis data dalam memori ke cakera pada selang waktu tertentu, iaitu Snapshot dalam jargon.

Apabila memulihkan, fail syot kilat ditulis terus ke ingatan.

Ini juga merupakan salah satu perbezaan utama antara Redis dan Memcached, kerana Memcached tidak mempunyai keupayaan kegigihan.

Untuk kegigihan data memori Redis, Redis menyediakan kami kaedah berikut:

  • Kaedah syot kilat (RDB, Redis DataBase): tulis data memori ke cakera dalam bentuk binari pada masa tertentu;
  • Tambah Sahaja Fail (AOF, Tambah Sahaja Fail), rekod semua arahan operasi, dan tambahkan pada fail dalam bentuk teks;
  • Kegigihan hibrid, kaedah baharu selepas Redis 4.0, kegigihan hibrid menggabungkan kelebihan RDB dan AOF.Apabila menulis, mula-mula tulis data semasa ke permulaan fail dalam bentuk RDB, dan kemudian simpan arahan operasi berikutnya ke fail dalam bentuk AOF, yang bukan sahaja dapat memastikan kelajuan Redis dimulakan semula, tetapi juga mengurangkan risiko kehilangan data.

Kerana setiap skim kegigihan mempunyai senario penggunaan tertentu.

Mod operasi kegigihan data memori RDB Redis

  • RDB (Redis DataBase) ialah proses menulis snapshot memori (Snapshot) pada masa tertentu ke cakera dalam bentuk binari.
  • Gambar ingatan ialah apa yang kami katakan di atas.Ia merujuk kepada rekod keadaan data dalam ingatan pada masa tertentu.
  • Ini sama seperti mengambil foto. Apabila anda mengambil foto rakan, foto boleh merakam semua imej rakan itu dengan serta-merta.
  • Terdapat dua cara untuk mencetuskan RDB: satu mencetuskan manual, dan satu lagi mencetuskan automatik.

Cetuskan RDB secara manual

Terdapat dua operasi untuk mencetuskan kegigihan secara manual:savebgsave.

Perbezaan utama antara mereka adalah sama ada untuk menyekat pelaksanaan utas utama Redis atau tidak.

1. simpan arahan

Melaksanakan arahan simpan pada bahagian klien akan mencetuskan kegigihan Redis, tetapi ia juga akan menjadikan Redis dalam keadaan menyekat. Ia tidak akan bertindak balas kepada arahan yang dihantar oleh pelanggan lain sehingga RDB berterusan, jadi ia mesti digunakan dengan berhati-hati dalam persekitaran pengeluaran.

127.0.0.1:6379> save
OK
127.0.0.1:6379>

Proses melaksanakan arahan ditunjukkan dalam rajah 

2. arahan bgsave

  • bgsave (simpan latar belakang) ialah simpanan latar belakang.
  • Perbezaan terbesar antaranya dan perintah save ialah bgsave akan menghentikan proses anak untuk melakukan kegigihan.
  • Keseluruhan proses hanya berlaku apabila proses anak adalah garpu.Terdapat hanya sekatan singkat.
  • Selepas proses anak dibuat, proses utama Redis boleh bertindak balas kepada permintaan daripada pelanggan lain.

dengan menyekat keseluruhan prosessaveberbanding dengan arahanbgsavePerintah jelas lebih sesuai untuk kita gunakan.

127.0.0.1:6379> bgsave
Background Saving started # 提示开始后台保存 
127.0.0.1:6379>

Cetuskan RDB secara automatik

Selepas bercakap tentang pencetus manual, mari kita lihat pencetus automatik.Kami boleh mengkonfigurasi syarat untuk mencetuskan automatik dalam fail konfigurasi.

1. simpan mn

  • simpan mn bermakna dalam m saat, jika n kekunci berubah, kegigihan dicetuskan secara automatik.Parameter m dan n boleh didapati dalam fail konfigurasi Redis.
  • Sebagai contoh, simpan 60 1 bermakna dalam masa 60 saat, selagi satu kunci berubah, kegigihan RDB akan dicetuskan.
  • Intipati kegigihan yang mencetuskan secara automatik ialah jika syarat pencetus yang ditetapkan dipenuhi, Redis akan secara automatik melaksanakan perintah bgsave sekali.

Nota: Apabila berbilang perintah save mn ditetapkan, mana-mana satu syarat akan mencetuskan kegigihan.

Sebagai contoh, kami menetapkan dua perintah save mn berikut:

save 60 10
save 600 20
  • Apabila nilai kunci Redis berubah 60 kali dalam tempoh 10s, kegigihan akan dicetuskan;
  • Jika kunci Redis berubah dalam 60s dan jika nilai berubah kurang daripada 10 kali, maka Redis akan menentukan sama ada kunci Redis telah diubah suai sekurang-kurangnya 600 kali dalam 20s dan jika ya, cetuskan kegigihan.

2. Flushall

  • Perintah flushall digunakan untuk mengepam pangkalan data Redis.
  • Ia mesti digunakan dengan berhati-hati dalam persekitaran pengeluaran.
  • Apabila Redis melaksanakan perintah flushall, ia mencetuskan kegigihan automatik dan mengosongkan fail RDB.

3. Pencetus penyegerakan tuan-hamba

Dalam replikasi induk-hamba Redis, apabila nod hamba menjalankan operasi replikasi penuh, nod induk akan melaksanakan perintah bgsave untuk menghantar fail RDB ke nod hamba. Proses ini secara automatik mencetuskan kegigihan Redis.

Redis boleh menanyakan parameter konfigurasi semasa melalui arahan.

Format arahan pertanyaan ialah:config get xxx

Contohnya, jika anda ingin mendapatkan tetapan nama storan bagi fail RDB, anda boleh gunakan config get dbfilename .

Kesan pelaksanaan adalah seperti berikut:

127.0.0.1:6379> config get dbfilename
1) "dbfilename"
2) "dump.rdb"

Memandangkan pelayan Redis akan menyekat apabila memuatkan fail RDB sehingga pemuatan selesai, ia boleh menyebabkan masa yang lama dan tapak web tidak boleh diakses.

Jika anda ingin memadamkan fail cache RDB dump.rdb Redis secara manual, anda boleh menggunakan arahan berikut untuk mencari laluan storan fail dump.rdb▼

find / -name dump.rdb
  • Kemudian, padamkan fail cache dump.rdb secara manual melalui SSH.

Redis menetapkan konfigurasi RDB

Berkenaan menetapkan konfigurasi RDB, anda boleh menggunakan dua cara berikut:

  1. Ubah suai fail konfigurasi Redis secara manual
  2. Gunakan tetapan baris arahan, config set dir "/usr/data" ialah arahan storan untuk mengubah suai fail RDB

Nota: Konfigurasi dalam redis.conf boleh diperolehi melalui config get xxx dan diubah suai melalui config set nilai xxx, dan kaedah mengubah suai fail konfigurasi Redis secara manual berkesan secara global, iaitu, parameter yang ditetapkan dengan memulakan semula pelayan Redis tidak akan hilang, tetapi diubah suai menggunakan arahan , ia akan hilang selepas Redis dimulakan semula.

Walau bagaimanapun, jika anda ingin mengubah suai fail konfigurasi Redis secara manual untuk berkuat kuasa serta-merta, anda perlu memulakan semula pelayan Redis dan kaedah arahan tidak memerlukan memulakan semula pelayan Redis.

Pemulihan fail RDB

Apabila pelayan Redis bermula, jika fail RDB dump.rdb wujud dalam direktori akar Redis, Redis akan memuatkan fail RDB secara automatik untuk memulihkan data berterusan.

Jika tiada fail dump.rdb dalam direktori root, sila alihkan fail dump.rdb ke direktori root Redis dahulu.

Sudah tentu, terdapat maklumat log apabila Redis bermula, yang akan menunjukkan sama ada fail RDB dimuatkan.

Pelayan Redis menyekat semasa memuatkan fail RDB sehingga pemuatan selesai.

Sekarang kita tahu bahawa kegigihan RDB dibahagikan kepada dua cara: pencetus manual dan pencetus automatik:

  1. Kelebihannya ialah fail storan kecil dan pemulihan data lebih cepat apabila Redis dimulakan.
  2. Kelemahannya ialah terdapat risiko kehilangan data.

Pemulihan fail RDB juga sangat mudah. ​​Hanya letakkan fail RDB dalam direktori akar Redis, dan Redis akan memuatkan dan memulihkan data secara automatik apabila ia bermula.

Kebaikan dan keburukan RDB

1) Kelebihan RDB

Kandungan RDB ialah data binari, menduduki kurang memori, lebih padat, dan lebih sesuai sebagai fail sandaran;

RDB sangat berguna untuk pemulihan bencana, ia adalah fail termampat yang boleh dipindahkan ke pelayan jauh lebih cepat untuk pemulihan perkhidmatan Redis;

RDB boleh meningkatkan kelajuan Redis, kerana proses Redis utama akan menghentikan proses kanak-kanak untuk meneruskan data ke cakera.

Proses utama Redis tidak menjalankan operasi seperti cakera I/O;

Berbanding dengan fail format AOF, fail RDB dimulakan semula dengan lebih cepat.

2) Kelemahan RDB

Kerana RDB hanya boleh menyimpan data pada selang masa tertentu, jika perkhidmatan Redis ditamatkan secara tidak sengaja di tengah, data Redis akan hilang untuk tempoh masa;

Satu proses di mana RDB memerlukan garpu yang kerap untuk menyimpannya pada cakera menggunakan subentry.

Jika set data besar, garpu boleh memakan masa dan jika set data besar, prestasi CPU adalah lemah, yang boleh menyebabkan Redis tidak dapat melayani pelanggan selama beberapa milisaat atau bahkan satu saat.

Sudah tentu, kami juga boleh melumpuhkan kegigihan untuk meningkatkan kecekapan pelaksanaan Redis.

Jika anda tidak sensitif terhadap kehilangan data, anda boleh melakukan ini apabila pelanggan menyambung config set save "" Perintah untuk melumpuhkan kegigihan untuk Redis.

redis.conf, jika dalamsaveUlas semua konfigurasi pada permulaan, dan kegigihan juga akan dilumpuhkan, tetapi ini biasanya tidak dilakukan.

Blog Harapan Chen Weiliang ( https://www.chenweiliang.com/ ) berkongsi "Apakah nama penuh Redis RDB? Mod Operasi Kegigihan Data Dalam Memori Redis RDB, yang berguna untuk anda.

Selamat datang untuk berkongsi pautan artikel ini:https://www.chenweiliang.com/cwl-26677.html

Selamat datang ke saluran Telegram blog Chen Weiliang untuk mendapatkan kemas kini terkini!

🔔 Jadilah yang pertama untuk mendapatkan "Panduan Penggunaan Alat AI Pemasaran Kandungan ChatGPT" yang berharga dalam direktori teratas saluran! 🌟
📚 Panduan ini mengandungi nilai yang besar, 🌟Ini adalah peluang yang jarang berlaku, jangan lepaskan! ⏰⌛💨
Share dan like jika anda suka!
Perkongsian dan suka anda adalah motivasi berterusan kami!

 

发表 评论

Alamat e-mel anda tidak akan diterbitkan. 必填 项 已 用 * 标注

tatal ke atas