Apa jeneng lengkap Redis RDB? Mode operasi ketekunan data memori Redis RDB

Jeneng lengkap RDB yaikuRedis database.

  • Minangka jeneng kasebut, RDB minangka basis data Redis sing digunakake kanggo nyimpen data.
  • Mulane, liwat kegigihan RDB, data sing disimpen ing memori Redis ditulis menyang file RDB lan disimpen ing disk kanggo entuk ketekunan.
  • Fitur saka Redis yaiku bisa tetep data, yaiku, nulis data ing memori menyang disk kanggo mesthekake yen ora ana data sing ilang, lan uga bisa mbukak data saka disk menyang memori.

Apa jeneng lengkap Redis RDB? Mode operasi ketekunan data memori Redis RDB

Operasi Redis ing wiwitan kabeh adhedhasar memori, saengga kinerja dhuwur banget, nanging yen program ditutup, data kasebut ilang.

Mulane, kita kudu nulis data ing memori menyang disk ing interval tartamtu, yaiku Snapshot ing jargon.

Nalika mulihake, file snapshot ditulis langsung menyang memori.

Iki uga minangka salah sawijining bedane utama ing antarane Redis lan Memcached, amarga Memcached ora duwe kemampuan terus-terusan.

Kanggo terus-terusan data memori Redis, Redis nyedhiyakake cara ing ngisor iki:

  • Cara snapshot (RDB, Redis DataBase): nulis data memori menyang disk ing wangun binar ing wayahe tartamtu;
  • Append Only File (AOF, Append Only File), rekam kabeh perintah operasi, lan tambahake menyang file ing wangun teks;
  • Ketekunan hibrida, cara anyar sawise Redis 4.0, ketekunan hibrida nggabungake kaluwihan RDB lan AOF.Nalika nulis, pisanan nulis data saiki menyang awal file ing wangun RDB, lan banjur nyimpen printah operasi sakteruse menyang file ing wangun AOF, kang ora mung bisa njamin kacepetan Redis restart, nanging uga nyuda. risiko mundhut data.

Amarga saben skema kegigihan duwe skenario panggunaan tartamtu.

Mode operasi ketekunan data memori Redis RDB

  • RDB (Redis DataBase) yaiku proses nulis snapshot memori (Snapshot) ing wektu tartamtu menyang disk ing wangun binar.
  • Jepretan memori yaiku sing kita ucapake ing ndhuwur.Iki nuduhake cathetan negara data ing memori ing wayahe tartamtu.
  • Iki padha karo njupuk foto, yen sampeyan njupuk foto kanca, foto bisa langsung ngrekam kabeh gambar kanca.
  • Ana rong cara kanggo micu RDB: siji yaiku pemicu manual, lan liyane yaiku pemicu otomatis.

Micu RDB kanthi manual

Ana rong operasi kanggo pemicu kegigihan kanthi manual:savebgsave.

Bentenipun utama antarane wong-wong mau yaiku apa utawa ora kanggo mblokir eksekusi utas utama Redis.

1. nyimpen printah

Nglakokake printah simpen ing sisih klien bakal micu ketekunan Redis, nanging uga bakal nggawe Redis ing negara pamblokiran. Ora bakal nanggapi perintah sing dikirim dening klien liyane nganti RDB tetep, mula kudu digunakake kanthi ati-ati ing lingkungan produksi.

127.0.0.1:6379> save
OK
127.0.0.1:6379>

Proses eksekusi perintah kasebut ditampilake ing gambar kasebut 

2. bgsave printah

  • bgsave (simpen latar mburi) yaiku simpen latar mburi.
  • Bentenipun paling gedhe antarane lan printah nyimpen iku bgsave bakal garpu proses anak kanggo nindakake terus-terusan.
  • Kabeh proses mung nalika proses anak wis garpu.Ana mung blockage singkat.
  • Sawise proses anak digawe, proses utama Redis bisa nanggapi panjalukan saka klien liyane.

kanthi ngalangi kabeh prosessavedibandhingake karo dhawuhbgsaveCommand temenan luwih cocok kanggo kita nggunakake.

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

Micu RDB kanthi otomatis

Sawise ngomong babagan pemicu manual, ayo goleki pemicu otomatis.Kita bisa ngatur kahanan kanggo pemicu otomatis ing file konfigurasi.

1. nyimpen mn

  • nyimpen mn tegese ing m detik, yen n tombol diganti, terus-terusan micu kanthi otomatis.Parameter m lan n bisa ditemokake ing file konfigurasi Redis.
  • Contone, nyimpen 60 1 tegese ing 60 detik, anggere siji owah-owahan tombol, kegigihan RDB bakal micu.
  • Inti saka kegigihan pemicu kanthi otomatis yaiku yen kondisi pemicu disetel, Redis bakal nglakokake perintah bgsave kanthi otomatis.

Cathetan: Nalika sawetara printah save mn disetel, salah siji kondisi bakal micu ketekunan.

Contone, kita nyetel loro nyimpen mn printah ing ngisor iki:

save 60 10
save 600 20
  • Nalika nilai tombol Redis diganti 60 kaping ing 10s, terus-terusan bakal micu;
  • Yen tombol Redis diganti ing 60s, lan yen owah-owahan regane kurang saka 10 kaping, Redis bakal nemtokake apa tombol Redis wis diowahi ing paling 600 kaping ing 20s, lan yen mangkono, pemicu terus-terusan.

2. Flushall

  • Printah flushall digunakake kanggo flush database Redis.
  • Sampeyan kudu digunakake kanthi ati-ati ing lingkungan produksi.
  • Nalika Redis nglakokake printah flushall, micu ketekunan otomatis lan mbusak file RDB.

3. pemicu sinkronisasi Master-budak

Ing replikasi master-slave Redis, nalika simpul abdi nindakake operasi replikasi lengkap, simpul master bakal nglakokake perintah bgsave kanggo ngirim file RDB menyang simpul abdi. Proses iki kanthi otomatis micu ketekunan Redis.

Redis bisa takon paramèter konfigurasi saiki liwat printah.

Format perintah query yaiku:config get xxx

Contone, yen sampeyan pengin njaluk setelan jeneng panyimpenan saka file RDB, sampeyan bisa nggunakake config get dbfilename .

Efek eksekusi kaya ing ngisor iki:

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

Wiwit server Redis bakal mblokir nalika ngemot file RDB nganti loading rampung, bisa nyebabake wektu sing suwe lan situs web ora bisa diakses.

Yen sampeyan pengin mbusak file cache RDB dump.rdb saka Redis kanthi manual, sampeyan bisa nggunakake printah ing ngisor iki kanggo nemokake path panyimpenan file dump.rdb▼

find / -name dump.rdb
  • Banjur, mbusak file cache dump.rdb kanthi manual liwat SSH.

Redis nyetel konfigurasi RDB

Babagan nyetel konfigurasi RDB, sampeyan bisa nggunakake rong cara ing ngisor iki:

  1. Ngowahi file konfigurasi Redis kanthi manual
  2. Gunakake setelan baris perintah, config set dir "/ usr / data" minangka perintah panyimpenan kanggo ngowahi file RDB

Cathetan: Konfigurasi ing redis.conf bisa dipikolehi liwat config njaluk xxx lan diowahi liwat config nyetel nilai xxx, lan cara ngowahi file konfigurasi Redis kanthi manual efektif sacara global, yaiku, paramèter sing disetel kanthi miwiti maneh server Redis ora bakal bakal ilang, nanging diowahi nggunakake printah , bakal ilang sawise Redis miwiti maneh.

Nanging, yen sampeyan pengin ngowahi file konfigurasi Redis kanthi manual supaya bisa langsung ditrapake, sampeyan kudu miwiti maneh server Redis, lan cara printah ora mbutuhake miwiti maneh server Redis.

Recovery file RDB

Nalika server Redis diwiwiti, yen file RDB dump.rdb ana ing direktori ROOT Redis, Redis bakal kanthi otomatis mbukak file RDB kanggo mulihake data ngengkel.

Yen ora ana file dump.rdb ing direktori root, mangga mindhah file dump.rdb menyang direktori root Redis dhisik.

Mesthi, ana informasi log nalika Redis diwiwiti, sing bakal nuduhake manawa file RDB dimuat.

Server Redis mblokir nalika mbukak file RDB nganti loading rampung.

Saiki kita ngerti manawa kegigihan RDB dipérang dadi rong cara: pemicu manual lan pemicu otomatis:

  1. Kauntungane yaiku file panyimpenan cilik lan pemulihan data luwih cepet nalika Redis diwiwiti.
  2. Kakurangan iku ana risiko mundhut data.

Pamulihan file RDB uga gampang banget. Cukup lebokake file RDB ing direktori root Redis, lan Redis bakal mbukak lan mulihake data kanthi otomatis nalika diwiwiti.

Pros lan cons RDB

1) keuntungan RDB

Isi RDB yaiku data binar, sing nduweni memori sing kurang, luwih kompak, lan luwih cocok minangka file serep;

RDB banget migunani kanggo Recovery bilai, iku file kompres sing bisa ditransfer menyang server remot luwih cepet kanggo Recovery layanan Redis;

RDB bisa nemen nambah kacepetan Redis, amarga proses Redis utama bakal garpu proses anak kanggo tetep data menyang disk.

Proses utama Redis ora nindakake operasi kayata disk I/O;

Dibandhingake karo file format AOF, file RDB diwiwiti maneh luwih cepet.

2) Kekurangan RDB

Amarga RDB mung bisa nyimpen data ing interval wektu tartamtu, yen layanan Redis ora sengaja mungkasi ing tengah, data Redis bakal ilang kanggo sawetara wektu;

Proses ing ngendi RDB mbutuhake garpu sing kerep kanggo nyimpen ing disk nggunakake subentry.

Yen dataset gedhe, garpu bisa wektu-akeh, lan yen dataset gedhe, kinerja CPU kurang, kang bisa nimbulaké Redis ora bisa ngawula klien kanggo sawetara milliseconds utawa malah detik.

Mesthi, kita uga bisa mateni ketekunan kanggo nambah efisiensi eksekusi Redis.

Yen sampeyan ora sensitif mundhut data, sampeyan bisa nindakake iki nalika klien nyambung config set save "" Prentah kanggo mateni ketekunan kanggo Redis.

redis.conf, yen ingsaveKomentar metu kabeh konfigurasi ing wiwitan, lan terus-terusan uga bakal dipatèni, nanging iki umume ora rampung.

Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ ) bareng "Sapa jeneng lengkap Redis RDB? Redis RDB In-Memory Data Persistence Operation Mode", bakal mbantu sampeyan.

Sugeng rawuh kanggo nuduhake link artikel iki:https://www.chenweiliang.com/cwl-26677.html

Sugeng rawuh ing saluran Telegram blog Chen Weiliang kanggo entuk update paling anyar!

🔔 Dadi sing pertama entuk "Pandhuan Panggunaan Alat AI Pemasaran Konten ChatGPT" ing direktori ndhuwur saluran! 🌟
📚 Pandhuan iki ngemot nilai gedhe, 🌟Iki minangka kesempatan langka, aja kantun! ⏰⌛💨
Share lan seneng yen sampeyan seneng!
Nuduhake lan seneng sampeyan minangka motivasi terus-terusan!

 

komentar

Alamat email sampeyan ora bakal diterbitake. Bidhang sing dibutuhake digunakake * Panggilan

gulung menyang ndhuwur