Redis RDB ning to'liq nomi nima? Redis RDB xotira ma'lumotlarining doimiy ishlash rejimi

RDB ning to'liq nomiRedis database.

  • Nomidan ko'rinib turibdiki, RDB ma'lumotlarni saqlash uchun ishlatiladigan Redis ma'lumotlar bazasi.
  • Shuning uchun, RDB doimiyligi orqali Redis xotirasida saqlangan ma'lumotlar RDB fayliga yoziladi va qat'iylikka erishish uchun diskda saqlanadi.
  • Redis-ning xususiyati shundaki, u ma'lumotlarni saqlab qolishi, ya'ni hech qanday ma'lumot yo'qolmasligini ta'minlash uchun xotiradagi ma'lumotlarni diskka yozishi va diskdan xotiraga ma'lumotlarni yuklashi mumkin.

Redis RDB ning to'liq nomi nima? Redis RDB xotira ma'lumotlarining doimiy ishlash rejimi

Redis-ning boshida barcha operatsiyalar xotiraga asoslangan, shuning uchun unumdorlik juda yuqori, lekin dastur yopilgandan so'ng, ma'lumotlar yo'qoladi.

Shuning uchun biz xotiradagi ma'lumotlarni diskka ma'lum vaqt oralig'ida yozishimiz kerak, bu jargonda Snapshot.

Qayta tiklashda oniy tasvir fayli to'g'ridan-to'g'ri xotiraga yoziladi.

Bu Redis va Memcached o'rtasidagi asosiy farqlardan biridir, chunki Memcached doimiylik qobiliyatiga ega emas.

Redis xotira ma'lumotlarining barqarorligi uchun Redis bizga quyidagi usullarni taqdim etadi:

  • Snapshot usuli (RDB, Redis DataBase): xotira ma'lumotlarini diskka ma'lum bir vaqtda ikkilik shaklda yozish;
  • Append Only File (AOF, Append Only File), barcha operatsiya buyruqlarini yozib oling va faylga matn shaklida qo‘shing;
  • Gibrid qat'iylik, Redis 4.0 dan keyingi yangi usul, gibrid qat'iylik RDB va AOF afzalliklarini birlashtiradi.Yozishda, avvalo, joriy ma'lumotlarni faylning boshiga RDB ko'rinishida yozing, so'ngra keyingi operatsiya buyruqlarini faylga AOF ko'rinishida saqlang, bu nafaqat Redisni qayta ishga tushirish tezligini ta'minlashi, balki kamaytirishi ham mumkin. ma'lumotlarni yo'qotish xavfi.

Chunki har bir qat'iylik sxemasi o'ziga xos foydalanish stsenariylariga ega.

Redis RDB xotira ma'lumotlarining doimiy ishlash rejimi

  • RDB (Redis DataBase) - bu diskka ma'lum bir lahzada ikkilik shaklda xotira tasvirini (Snapshot) yozish jarayoni.
  • Xotira suratlari biz yuqorida aytgan narsadir.Bu ma'lum bir daqiqada xotiradagi ma'lumotlarning holatini qayd etishni anglatadi.
  • Bu suratga olishga o'xshaydi.Do'stingizni suratga olganingizda, fotosurat do'stingizning barcha tasvirlarini bir zumda yozib olishi mumkin.
  • RDBni ishga tushirishning ikki yo'li mavjud: biri qo'lda tetiklash, ikkinchisi esa avtomatik ishga tushirish.

RDBni qo'lda ishga tushiring

Qat'iylikni qo'lda ishga tushirish uchun ikkita operatsiya mavjud:savebgsave.

Ularning orasidagi asosiy farq Redis asosiy ish zarrachasining bajarilishini blokirovka qilish yoki bermaslikdir.

1. saqlash buyrug'i

Mijoz tomonida saqlash buyrug'ini bajarish Redisning qat'iyligini ishga tushiradi, lekin u Redisni ham blokirovka holatiga keltiradi.RDB davom etmaguncha u boshqa mijozlar tomonidan yuborilgan buyruqlarga javob bermaydi, shuning uchun undan ehtiyotkorlik bilan foydalanish kerak. ishlab chiqarish muhiti.

127.0.0.1:6379> save
OK
127.0.0.1:6379>

Buyruqni bajarish jarayoni rasmda ko'rsatilgan 

2. bgsave buyrug'i

  • bgsave (fonda saqlash) - bu fonni saqlash.
  • Saqlash buyrug'i bilan uning eng katta farqi shundaki, bgsave doimiylikni amalga oshirish uchun bola jarayonini o'chiradi.
  • Butun jarayon faqat bola jarayoni vilkalar bo'lganda sodir bo'ladi.Faqat qisqa blokirovka mavjud.
  • Bola jarayoni yaratilgandan so'ng, Redisning asosiy jarayoni boshqa mijozlarning so'rovlariga javob berishi mumkin.

butun jarayonni blokirovka qilish bilansavebuyruq bilan solishtirgandabgsaveBuyruq biz uchun ko'proq mos keladi.

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

RDBni avtomatik ishga tushirish

Qo'lda tetiklash haqida gapirgandan so'ng, keling, avtomatik ishga tushirishni ko'rib chiqaylik.Biz konfiguratsiya faylida avtomatik ishga tushirish shartlarini sozlashimiz mumkin.

1. mn tejang

  • mn saqlash m soniya ichida, agar n tugma o'zgarsa, qat'iylik avtomatik ravishda ishga tushishini bildiradi.m va n parametrlarini Redis konfiguratsiya faylida topish mumkin.
  • Masalan, 60 1 ni saqlash 60 soniya ichida, agar bitta kalit o'zgarsa, RDB qat'iyligi ishga tushishini anglatadi.
  • Avtomatik turg'unlikni tetiklashning mohiyati shundan iboratki, agar o'rnatilgan trigger shartlari bajarilsa, Redis avtomatik ravishda bgsave buyrug'ini bir marta bajaradi.

Eslatma: Agar bir nechta saqlash mn buyruqlari o'rnatilgan bo'lsa, har qanday shart qat'iylikni keltirib chiqaradi.

Masalan, biz quyidagi ikkita saqlash mn buyrug'ini o'rnatamiz:

save 60 10
save 600 20
  • Redis kaliti qiymati 60 soniya ichida 10 marta o'zgarganda, qat'iylik ishga tushadi;
  • Agar Redis kaliti 60 soniya ichida o'zgarsa va qiymat 10 martadan kam o'zgarsa, Redis Redis kaliti 600 soniya ichida kamida 20 marta o'zgartirilganligini aniqlaydi va agar shunday bo'lsa, doimiylikni ishga tushiradi.

2. Flushall

  • Flushall buyrug'i Redis ma'lumotlar bazasini tozalash uchun ishlatiladi.
  • Uni ishlab chiqarish muhitida ehtiyotkorlik bilan ishlatish kerak.
  • Redis flushall buyrug'ini bajarganda, u avtomatik qat'iylikni ishga tushiradi va RDB fayllarini tozalaydi.

3. Master-slave sinxronlash triggeri

Redis master-slave replikatsiyasida, tobe tugun to'liq replikatsiya operatsiyasini amalga oshirganda, asosiy tugun RDB faylini tobe tugunga yuborish uchun bgsave buyrug'ini bajaradi.Bu jarayon avtomatik ravishda Redis doimiyligini ishga tushiradi.

Redis joriy konfiguratsiya parametrlarini buyruqlar orqali so'rashi mumkin.

So'rov buyrug'ining formati:config get xxx

Misol uchun, agar siz RDB faylining saqlash nomi sozlamalarini olishni istasangiz, foydalanishingiz mumkin config get dbfilename .

Amalga oshirish effekti quyidagicha:

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

Redis serveri RDB faylini yuklash tugaguniga qadar bloklanishi sababli, bu uzoq vaqtga olib kelishi mumkin va veb-saytga kirish imkoni bo'lmaydi.

Agar siz Redis-ning dump.rdb RDB kesh faylini qo'lda o'chirmoqchi bo'lsangiz, dump.rdb faylining saqlash yo'lini topish uchun quyidagi buyruqdan foydalanishingiz mumkin▼

find / -name dump.rdb
  • Keyin dump.rdb kesh faylini SSH orqali qo'lda o'chirib tashlang.

Redis RDB konfiguratsiyasini o'rnatadi

RDB konfiguratsiyasini o'rnatishga kelsak, siz quyidagi ikkita usuldan foydalanishingiz mumkin:

  1. Redis konfiguratsiya faylini qo'lda o'zgartiring
  2. Buyruqlar qatori sozlamalaridan foydalaning, konfiguratsiya to'plami dir "/usr/data" RDB faylini o'zgartirish uchun saqlash buyrug'i

Eslatma: redis.conf-dagi konfiguratsiya get xxx konfiguratsiyasi orqali olinishi va xxx konfiguratsiyasi qiymati orqali o'zgartirilishi mumkin va Redis konfiguratsiya faylini qo'lda o'zgartirish usuli global miqyosda samarali, ya'ni Redis serverini qayta ishga tushirish orqali o'rnatilgan parametrlar bajarilmaydi. yo'qoladi, lekin buyrug'i yordamida o'zgartirilsa, Redis qayta ishga tushirilgandan so'ng u yo'qoladi.

Biroq, agar siz darhol kuchga kirishi uchun Redis konfiguratsiya faylini qo'lda o'zgartirmoqchi bo'lsangiz, Redis serverini qayta ishga tushirishingiz kerak va buyruq usuli Redis serverini qayta ishga tushirishni talab qilmaydi.

RDB faylni tiklash

Redis serveri ishga tushganda, dump.rdb RDB fayli Redis ildiz katalogida mavjud bo'lsa, Redis doimiy ma'lumotlarni tiklash uchun RDB faylini avtomatik ravishda yuklaydi.

Agar ildiz katalogida dump.rdb fayli bo'lmasa, avval dump.rdb faylini Redisning asosiy katalogiga ko'chiring.

Albatta, Redis ishga tushirilganda jurnal ma'lumotlari mavjud bo'lib, u RDB fayli yuklanganligini ko'rsatadi.

Redis serveri RDB faylini yuklashda yuklash tugaguniga qadar bloklaydi.

Endi biz bilamizki, RDB barqarorligi ikki yo'lga bo'linadi: qo'lda tetiklash va avtomatik ishga tushirish:

  1. Uning afzalligi shundaki, saqlash fayli kichik va Redis ishga tushirilganda ma'lumotlarni qayta tiklash tezroq bo'ladi.
  2. Salbiy tomoni shundaki, ma'lumotlarni yo'qotish xavfi mavjud.

RDB fayllarini tiklash ham juda oddiy.RDB fayllarni Redisning ildiz katalogiga qo'ying, Redis ishga tushganda ma'lumotlarni avtomatik ravishda yuklaydi va tiklaydi.

RDBning ijobiy va salbiy tomonlari

1) RDB afzalliklari

RDB tarkibi ikkilik ma'lumotlar bo'lib, ular kamroq xotirani egallaydi, ixchamroq va zaxira fayl sifatida ko'proq mos keladi;

RDB falokatni tiklash uchun juda foydali, bu Redis xizmatini tiklash uchun uzoq serverga tezroq uzatilishi mumkin bo'lgan siqilgan fayl;

RDB Redis tezligini sezilarli darajada oshirishi mumkin, chunki asosiy Redis jarayoni diskdagi ma'lumotlarni saqlab qolish uchun bola jarayonini o'chiradi.

Redis asosiy jarayoni diskni kiritish/chiqarish kabi operatsiyalarni bajarmaydi;

AOF formatidagi fayllar bilan solishtirganda, RDB fayllari tezroq qayta boshlanadi.

2) RDB ning kamchiliklari

RDB ma'lumotni faqat ma'lum vaqt oralig'ida saqlashi mumkinligi sababli, agar Redis xizmati o'rtada tasodifan tugatilgan bo'lsa, Redis ma'lumotlari ma'lum vaqt davomida yo'qoladi;

RDB subentry yordamida diskda saqlash uchun tez-tez vilkalar talab qiladigan jarayon.

Agar ma'lumotlar to'plami katta bo'lsa, vilkalar ko'p vaqt talab qilishi mumkin va agar ma'lumotlar to'plami katta bo'lsa, protsessor unumdorligi yomon, bu Redisning mijozlarga bir necha millisekund yoki hatto bir soniya davomida xizmat ko'rsata olmasligiga olib kelishi mumkin.

Albatta, biz Redisning ishlash samaradorligini oshirish uchun qat'iylikni ham o'chirib qo'yishimiz mumkin.

Agar siz ma'lumotlar yo'qolishiga sezgir bo'lmasangiz, mijoz ulanganda buni qilishingiz mumkin config set save "" Redis uchun qat'iylikni o'chirish buyrug'i.

redis.conf, agar ichidasaveBoshida barcha konfiguratsiyalarni izohlang va qat'iylik ham o'chiriladi, lekin bu odatda bajarilmaydi.

Umid qilamanki, Chen Veyliang blogi ( https://www.chenweiliang.com/ ) baham ko'rdi "Redis RDBning to'liq nomi nima? Redis RDB xotiradagi ma'lumotlarning doimiy ishlashi rejimi" sizga yordam beradi.

Ushbu maqolaning havolasini baham ko'rish uchun xush kelibsiz:https://www.chenweiliang.com/cwl-26677.html

Eng so'nggi yangiliklardan xabardor bo'lish uchun Chen Veyliang blogining Telegram kanaliga xush kelibsiz!

🔔 Birinchi bo'lib kanalning yuqori katalogida qimmatli "ChatGPT Content Marketing AI vositasidan foydalanish bo'yicha qo'llanma"ni qo'lga kiriting! 🌟
📚 Ushbu qo'llanmada katta ahamiyatga ega, 🌟Bu kamdan-kam imkoniyat, uni qo'ldan boy bermang! ⏰⌛💨
Baham ko'ring va yoqsa like!
Sizning baham ko'rish va yoqtirishlaringiz bizning doimiy motivatsiyamizdir!

 

发表 评论

Sizning elektron pochta manzilingiz e'lon qilinmaydi. 必填 项 已 用 * Yorliq

tepaga aylantiring