Naon nami lengkep Redis RDB? Mode operasi kegigihan data mémori Redis RDB

Ngaran lengkep RDB nyaétaRedis database.

  • Sakumaha ngaranna nunjukkeun, RDB mangrupakeun database Redis dipaké pikeun nyimpen data.
  • Ku alatan éta, ngaliwatan kegigihan RDB, data nu disimpen dina mémori Redis ditulis kana file RDB tur disimpen dina disk pikeun ngahontal persistence.
  • Fitur Redis téh nya éta bisa persist data, nyaeta, nulis data dina mémori ka disk pikeun mastikeun yén euweuh data leungit, sarta ogé bisa muka data tina disk kana mémori.

Naon nami lengkep Redis RDB? Mode operasi kegigihan data mémori Redis RDB

Operasi Redis di awal sadayana dumasar kana mémori, ku kituna kinerjana luhur pisan, tapi sakali program ditutup, datana leungit.

Ku alatan éta, urang kedah nyerat data dina mémori kana disk dina interval anu ditangtukeun, nyaéta Snapshot dina jargon.

Nalika malikkeun, file snapshot ditulis langsung ka mémori.

Ieu ogé salah sahiji bédana utama antara Redis sareng Memcached, sabab Memcached henteu gaduh kamampuan kegigihan.

Pikeun kegigihan data mémori Redis, Redis nyayogikeun kami metode ieu:

  • Métode Snapshot (RDB, Redis DataBase): nyerat data mémori kana disk dina bentuk binér dina waktos anu tangtu;
  • Append Only File (AOF, Append Only File), rekam sadaya paréntah operasi, sareng tambahkeun kana file dina bentuk téks;
  • Kegigihan hibrida, metode anyar saatos Redis 4.0, kegigihan hibrida ngagabungkeun kaunggulan RDB sareng AOF.Nalika nyerat, nyerat heula data ayeuna ka awal file dina bentuk RDB, teras simpen paréntah operasi anu salajengna kana file dina bentuk AOF, anu henteu ngan ukur tiasa mastikeun laju Redis balikan deui, tapi ogé ngirangan. résiko leungitna data.

Kusabab unggal skéma kegigihan boga skenario pamakéan husus.

Mode operasi kegigihan data mémori Redis RDB

  • RDB (Redis DataBase) nyaéta prosés nulis snapshot memori (Snapshot) dina momen nu tangtu ka disk dina formulir binér.
  • Snapshots mémori anu kami nyarios di luhur.Ieu nujul kana catetan kaayaan data dina mémori dina momen nu tangtu.
  • Ieu sami sareng nyandak poto. Nalika anjeun nyandak poto babaturan, poto tiasa langsung ngarékam sadaya gambar babaturan éta.
  • Aya dua cara pikeun memicu RDB: hiji nyaéta pemicu manual, sareng anu sanésna nyaéta pemicu otomatis.

Sacara manual memicu RDB

Aya dua operasi pikeun memicu kegigihan sacara manual:savebgsave.

Beda utama antara aranjeunna naha atanapi henteu pikeun meungpeuk palaksanaan thread utama Redis.

1. simpen paréntah

Ngalaksanakeun paréntah simpen di sisi klien bakal memicu kegigihan Redis, tapi ogé bakal ngajantenkeun Redis dina kaayaan blocking. lingkungan produksi.

127.0.0.1:6379> save
OK
127.0.0.1:6379>

Prosés executing paréntah ditémbongkeun dina gambar 

2. paréntah bgsave

  • bgsave (background save) nyaéta simpen latar.
  • Beda pangbadagna antara eta jeung paréntah simpen éta bgsave bakal garpu prosés anak pikeun nedunan persistence.
  • Sakabéh prosés ngan lumangsung nalika prosés anak téh garpu.Ngan aya sumbatan sakeudeung.
  • Sanggeus prosés anak dijieun, prosés utama Redis bisa ngabales requests ti klien séjén.

kalawan blocking sakabéh proséssavedibandingkeun jeung paréntahbgsaveParéntah écés langkung cocog pikeun urang dianggo.

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

Otomatis memicu RDB

Sanggeus ngobrol ngeunaan pemicu manual, hayu urang nempo pemicu otomatis.Urang tiasa ngonpigurasikeun kaayaan pikeun pemicu otomatis dina file konfigurasi.

1. nyimpen mn

  • simpen mn hartina dina m detik, lamun n kenop robah, kegigihan otomatis dipicu.Parameter m jeung n bisa kapanggih dina file konfigurasi Redis.
  • Contona, simpen 60 1 hartina dina 60 detik, salami hiji konci robah, RDB kegigihan bakal micu.
  • Hakekat kegigihan pemicu otomatis éta lamun kaayaan pemicu set anu patepung, Redis bakal otomatis ngaéksekusi paréntah bgsave sakali.

Catetan: Lamun sababaraha paréntah save mn disetel, salah sahiji kaayaan bakal memicu persistence.

Salaku conto, urang nyetél dua paréntah save mn:

save 60 10
save 600 20
  • Nalika nilai konci Redis robah 60 kali dina 10s, kegigihan bakal dipicu;
  • Lamun konci Redis robah dina 60s, sarta lamun nilai robah kirang ti 10 kali, Redis bakal nangtukeun naha konci Redis geus dirobah sahenteuna 600 kali dina 20s, sarta lamun kitu, pemicu kegigihan.

2. Sirah

  • Paréntah flushall dipaké pikeun siram database Redis.
  • Éta kedah dianggo kalayan ati-ati dina lingkungan produksi.
  • Nalika Redis ngaéksekusi paréntah flushall, éta micu kegigihan otomatis sareng mupus file RDB.

3. Master-budak sinkronisasi pemicu

Dina réplikasi master-budak Redis, nalika titik budak ngalakukeun operasi réplikasi pinuh, titik master bakal ngajalankeun paréntah bgsave pikeun ngirim file RDB ka titik budak. Prosés ieu otomatis micu kegigihan Redis.

Redis tiasa naroskeun parameter konfigurasi ayeuna ngalangkungan paréntah.

Format paréntah query nyaéta:config get xxx

Contona, upami anjeun hoyong kéngingkeun setélan nami panyimpenan tina file RDB, anjeun tiasa nganggo config get dbfilename .

Pangaruh palaksanaan nyaéta kieu:

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

Kusabab server Redis bakal meungpeuk nalika ngamuat file RDB dugi ka loading parantos réngsé, éta tiasa nyababkeun lami sareng halaman wéb henteu tiasa diakses.

Upami anjeun hoyong sacara manual ngahapus file cache RDB dump.rdb of Redis, anjeun tiasa nganggo paréntah di handap ieu pikeun milarian jalur neundeun file dump.rdb▼

find / -name dump.rdb
  • Lajeng, ngahapus sacara manual file cache dump.rdb via SSH.

Redis nyetél konfigurasi RDB

Ngeunaan netepkeun konfigurasi RDB, anjeun tiasa nganggo dua cara ieu:

  1. Ngarobih sacara manual file konfigurasi Redis
  2. Anggo setélan garis paréntah, config set dir "/ usr / data" nyaéta paréntah panyimpen pikeun ngarobih file RDB.

Catetan: Konfigurasi dina redis.conf tiasa didapet ngaliwatan config meunang xxx sarta dirobah ngaliwatan config set nilai xxx, sarta metoda manual modifying file konfigurasi Redis sacara global éféktif, nyaeta, parameter diatur ku restarting server Redis moal. leungit, tapi dirobah maké paréntah , eta bakal leungit sanggeus Redis restarts.

Nanging, upami anjeun hoyong ngarobih sacara manual file konfigurasi Redis supados langsung dianggo, anjeun kedah ngabalikan deui server Redis, sareng metode paréntah henteu kedah dibalikan deui server Redis.

Pamulihan file RDB

Nalika server Redis dimimitian, lamun file RDB dump.rdb aya dina diréktori akar Redis, Redis bakal otomatis ngamuat file RDB pikeun mulangkeun data pengkuh.

Upami teu aya file dump.rdb dina diréktori akar, punten pindahkeun file dump.rdb kana diréktori akar Redis.

Tangtosna, aya inpormasi log nalika Redis ngamimitian, anu bakal nunjukkeun naha file RDB dimuat.

Blok server Redis nalika ngamuat file RDB dugi ka ngamuat parantos réngsé.

Ayeuna urang terang yén kegigihan RDB dibagi jadi dua cara: pemicu manual sareng pemicu otomatis:

  1. Kauntungannana nyaéta yén file panyimpen leutik sareng pamulihan data langkung gancang nalika Redis dimimitian.
  2. downside nyaeta aya résiko leungitna data.

Pamulihan file RDB ogé saderhana pisan. Cukup nempatkeun file RDB dina diréktori akar Redis, sareng Redis bakal otomatis ngamuat sareng malikkeun data nalika ngamimitian.

RDB pro jeung kontra

1) Keunggulan RDB

Eusi RDB nyaéta data binér, nyicingan kirang mémori, langkung kompak, sareng langkung cocog salaku payel cadangan;

RDB pohara kapaké pikeun pamulihan musibah, éta mangrupikeun file anu dikomprés anu tiasa ditransfer ka server jauh langkung gancang pikeun pamulihan jasa Redis;

RDB tiasa greatly ningkatkeun laju Redis, sabab prosés Redis utama bakal garpu prosés anak pikeun persist data kana disk.

Prosés utama Redis henteu ngalakukeun operasi sapertos disk I/O;

Dibandingkeun sareng file format AOF, file RDB balikan deui langkung gancang.

2) Kakurangan RDB

Kusabab RDB ngan bisa nyimpen data dina interval waktu nu tangtu, lamun jasa Redis ieu ngahaja terminated di tengah, data Redis bakal leungit pikeun periode waktu;

Prosés dimana RDB ngabutuhkeun garpu sering pikeun nyimpen éta dina disk nganggo subentry.

Upami set data ageung, garpu tiasa nyéépkeun waktos, sareng upami set data ageung, kinerja CPU goréng, anu tiasa nyababkeun Redis henteu tiasa ngalayanan klien pikeun sababaraha milidetik atanapi sadetik.

Tangtosna, urang ogé tiasa nganonaktipkeun kegigihan pikeun ningkatkeun efisiensi palaksanaan Redis.

Upami anjeun henteu peka kana leungitna data, anjeun tiasa ngalakukeun ieu nalika klien nyambung config set save "" Paréntah pikeun nganonaktipkeun kegigihan pikeun Redis.

redis.conf, lamun disaveKoméntar sadayana konfigurasi di awal, sareng kegigihan ogé bakal ditumpurkeun, tapi ieu umumna henteu dilakukeun.

Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ ) dibagikeun "Naon nami lengkep Redis RDB? Redis RDB In-Memory Data Persistence Operation Mode", bakal ngabantosan anjeun.

Wilujeng ngabagikeun tautan artikel ieu:https://www.chenweiliang.com/cwl-26677.html

Wilujeng sumping di saluran Telegram blog Chen Weiliang pikeun kéngingkeun apdet panganyarna!

🔔 Janten anu pangheulana kéngingkeun "Panduan Penggunaan Alat AI Pemasaran Konten ChatGPT" dina diréktori luhur saluran! 🌟
📚 Pituduh ieu ngandung nilai anu ageung, 🌟Ieu mangrupikeun kasempetan anu jarang, tong kantun! ⏰⌛💨
Bagikeun sareng suka upami anjeun resep!
Bagikeun sareng resep anjeun mangrupikeun motivasi kontinyu kami!

 

koméntar

Alamat email anjeun moal diterbitkeun. Widang anu diperyogikeun dianggo * Labél

gulung ka luhur