Redis RDB толук аты кандай? Redis RDB эстутум маалымат туруктуу иштөө режими

RDB толук аты болуп саналатRedis database.

  • Аты айтып тургандай, RDB маалыматтарды сактоо үчүн колдонулган Redis маалымат базасы.
  • Ошондуктан, RDB туруктуулугу аркылуу Redis эстутумунда сакталган маалыматтар RDB файлына жазылат жана туруктуулукка жетүү үчүн дискке сакталат.
  • Redisтин өзгөчөлүгү - ал маалыматтарды сактай алат, башкача айтканда, эч кандай маалымат жоголуп кетпеши үчүн эстутумдагы маалыматтарды дискке жазып, ошондой эле дисктен эстутумга маалыматтарды жүктөй алат.

Redis RDB толук аты кандай? Redis RDB эстутум маалымат туруктуу иштөө режими

Башында Редистин операциялары баары эс тутумга негизделген, андыктан өндүрүмдүүлүк абдан жогору, бирок программа жабылгандан кийин маалыматтар жоголот.

Ошондуктан, биз эстутумдагы маалыматтарды дискке белгиленген аралыкта жазышыбыз керек, бул жаргондо Snapshot.

Калыбына келтирүүдө снапшот файл түз эле эстутумга жазылат.

Бул ошондой эле Redis жана Memcached ортосундагы негизги айырмачылыктардын бири, анткени Memcached туруктуулук жөндөмүнө ээ эмес.

Redis эстутум маалыматтарынын туруктуулугу үчүн Redis бизге төмөнкү ыкмаларды берет:

  • Snapshot ыкмасы (RDB, Redis DataBase): эстутум маалыматтарын дискке экилик түрдө белгилүү бир учурда жазуу;
  • Append Only File (AOF, Append Only File), бардык операция буйруктарын жазыңыз жана файлга текст түрүндө тиркеңиз;
  • Гибриддик туруктуулук, Redis 4.0ден кийинки жаңы ыкма, гибриддик туруктуулук RDB жана AOF артыкчылыктарын айкалыштырат.Жазууда, адегенде файлдын башына учурдагы маалыматтарды RDB түрүндө жазыңыз, андан кийин файлга кийинки операция буйруктарын AOF түрүндө сактаңыз, бул Redis кайра баштоонун ылдамдыгын гана камсыз кылбастан, ошондой эле азайта алат. маалыматтарды жоготуу коркунучу.

Анткени ар бир туруктуулук схемасында колдонуунун конкреттүү сценарийлери бар.

Redis RDB эстутум маалымат туруктуу иштөө режими

  • RDB (Redis DataBase) – бул дискке белгилүү бир учурда экилик формада эстутум сүрөтүн (Snapshot) жазуу процесси.
  • Эстутум сүрөттөрү биз жогоруда айткан нерсе.Бул белгилүү бир учурда эс тутумдагы маалыматтардын мамлекеттик жазуусун билдирет.
  • Бул сүрөткө тартууга окшош.Досуңуздун сүрөтүн тартканыңызда, сүрөт досуңуздун бардык сүрөттөрүн заматта жаздыра алат.
  • RDB ишке киргизүүнүн эки жолу бар: бири кол менен ишке киргизүү, экинчиси автоматтык түрдө ишке киргизүү.

RDBди кол менен иштетиңиз

Туруктуулукту кол менен иштетүү үчүн эки операция бар:savebgsave.

Алардын ортосундагы негизги айырма Redis негизги жиптин аткарылышын бөгөт коюу керекпи же жокпу.

1. сактоо буйругу

Кардар тарабында сактоо буйругун аткаруу Redisтин туруктуулугун козгойт, бирок ал ошондой эле Redisди бөгөттөө абалына келтирет.РДБ туруктуу болмоюнча, башка кардарлар жөнөткөн буйруктарга жооп бербейт, андыктан аны этияттык менен колдонуу керек. өндүрүш чөйрөсү.

127.0.0.1:6379> save
OK
127.0.0.1:6379>

Команданы аткаруу процесси сүрөттө көрсөтүлгөн 

2. bgsave буйругу

  • bgsave (фонду сактоо) - бул фондо сактоо.
  • Сактоо буйругу менен анын эң чоң айырмасы, bgsave персистенцияны аткаруу үчүн бала процессин айрыйт.
  • Бардык процесс бала процесси айры болгондо гана болот.Кыскача гана тосмо бар.
  • Бала процесси түзүлгөндөн кийин, Redisдин негизги процесси башка кардарлардын суроо-талаптарына жооп бере алат.

бүт жараянына бөгөт коюу мененsaveбуйрук менен салыштыргандаbgsaveБуйрук, албетте, бизге колдонууга ылайыктуу.

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

RDB автоматтык түрдө ишке киргизүү

Кол менен триггерлөө жөнүндө сөз кылгандан кийин, келгиле, автоматтык ишке киргизүүнү карап көрөлү.Биз конфигурация файлында автоматтык түрдө ишке киргизүү шарттарын конфигурациялай алабыз.

1. mn үнөмдөө

  • mn сактап калуу м секунданын ичинде, эгерде n баскычтары өзгөрсө, туруктуулук автоматтык түрдө ишке кирерин билдирет.m жана n параметрлерин Redis конфигурация файлынан тапса болот.
  • Мисалы, 60 1 сактоо 60 секунданын ичинде, бир ачкыч өзгөрсө, RDB туруктуулугу иштетилет дегенди билдирет.
  • Автоматтык түрдө триггердүүлүктүн маңызы, эгерде коюлган триггер шарттары аткарылса, Redis автоматтык түрдө bgsave буйругун бир жолу аткарат.

Эскертүү: Бир нече сактоо mn буйруктары коюлганда, каалаган бир шарт туруктуулукту жаратат.

Мисалы, биз төмөнкү эки сактоо mn буйругун койдук:

save 60 10
save 600 20
  • Redis ачкычынын мааниси 60-жылдардын ичинде 10 жолу өзгөргөндө, туруктуулук ишке кирет;
  • Эгерде Redis ачкычы 60-жылдардын ичинде өзгөрсө, ал эми маани 10 эседен аз өзгөрсө, Redis Redis ачкычы 600-жылдардын ичинде жок дегенде 20 жолу өзгөртүлгөнүн аныктайт, эгерде ошондой болсо, туруктуулукту козгойт.

2. Flushall

  • flushall буйругу Redis базасын тазалоо үчүн колдонулат.
  • Бул өндүрүш чөйрөсүндө этияттык менен колдонулушу керек.
  • Redis flushall буйругун аткарганда, ал автоматтык туруктуулукту иштетет жана RDB файлын тазалайт.

3. Мастер-кул синхрондоштуруу триггери

Redis мастер-кул репликациясында, кул түйүнү толук репликация операциясын аткарганда, башкы түйүн RDB файлын кул түйүнүнө жөнөтүү үчүн bgsave буйругун аткарат.Бул процесс автоматтык түрдө Redis туруктуулугун ишке киргизет.

Redis учурдагы конфигурация параметрлерин буйруктар аркылуу сурай алат.

Сурам буйругунун форматы:config get xxx

Мисалы, сиз RDB файлынын сактагычтын аталышын алгыңыз келсе, колдоно аласыз config get dbfilename .

Аткаруу эффектиси төмөнкүдөй:

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

Redis сервери RDB файлын жүктөөдө жүктөө аяктаганга чейин бөгөттөлө тургандыктан, бул көп убакытка алып келиши мүмкүн жана веб-сайтка кирүү мүмкүн эмес.

Redisдин RDB кэш файлын dump.rdb кол менен жок кылгыңыз келсе, dump.rdb файлынын сактагыч жолун табуу үчүн төмөнкү буйрукту колдонсоңуз болот▼

find / -name dump.rdb
  • Андан кийин, SSH аркылуу dump.rdb кэш файлын кол менен жок кылыңыз.

Redis RDB конфигурациясын орнотот

RDB конфигурациясын орнотууга байланыштуу, сиз төмөнкү эки жолду колдоно аласыз:

  1. Redis конфигурация файлын кол менен өзгөртүңүз
  2. Буйрук сабынын жөндөөлөрүн колдонуңуз, конфигурациялоо дир "/usr/data" RDB файлын өзгөртүү үчүн сактоо буйругу

Эскертүү: redis.conf конфигурациясын config get xxx аркылуу алууга болот жана конфигурацияланган xxx мааниси аркылуу өзгөртсө болот, ал эми Redis конфигурация файлын кол менен өзгөртүү ыкмасы глобалдык деңгээлде эффективдүү, башкача айтканда Redis серверин кайра иштетүү менен коюлган параметрлер болбойт. жоголуп, бирок буйругу менен өзгөртүлгөн болсо, ал Redis кайра иштетилгенден кийин жоголот.

Бирок, эгер сиз Redis конфигурация файлын дароо күчүнө киргизүү үчүн кол менен өзгөрткүңүз келсе, Redis серверин өчүрүп күйгүзүшүңүз керек жана команда ыкмасы Redis серверин кайра иштетүүнү талап кылбайт.

RDB файлдарын калыбына келтирүү

Redis сервери башталганда, эгерде RDB файлы dump.rdb Redis түпкү каталогунда бар болсо, Redis туруктуу маалыматтарды калыбына келтирүү үчүн RDB файлын автоматтык түрдө жүктөйт.

Эгерде түпкү каталогдо dump.rdb файлы жок болсо, dump.rdb файлын Redisтин түпкү каталогуна жылдырыңыз.

Албетте, Redis башталганда журнал маалыматы бар, ал RDB файлынын жүктөлгөндүгүн көрсөтөт.

Redis сервери RDB файлын жүктөөдө жүктөө аяктаганга чейин бөгөттөлөт.

Эми биз RDB туруктуулугу эки жолго бөлүнөрүн билебиз: кол менен ишке киргизүү жана автоматтык ишке киргизүү:

  1. Анын артыкчылыгы сактоо файлы кичинекей жана Redis иштетилгенде маалыматтарды калыбына келтирүү тезирээк болот.
  2. Кемчилиги маалыматтарды жоготуу коркунучу бар.

RDB файлдарын калыбына келтирүү да абдан жөнөкөй.. Жөн гана RDB файлдарын Redisтин түпкү каталогуна коюңуз, ошондо Redis ал башталганда маалыматтарды автоматтык түрдө жүктөйт жана калыбына келтирет.

RDB жакшы жана жаман жактары

1) RDB артыкчылыктары

RDB мазмуну экилик маалыматтар болуп саналат, ал азыраак эстутумду ээлейт, компакттуу жана резервдик файл катары ылайыктуу;

RDB кырсыктан калыбына келтирүү үчүн абдан пайдалуу, ал Redis кызматын калыбына келтирүү үчүн алыскы серверге тезирээк которула турган кысылган файл;

RDB Редистин ылдамдыгын бир топ жакшыртат, анткени негизги Redis процесси маалыматты дискке сактап калуу үчүн бала процессин айрыйт.

Redis негизги процесси диск киргизүү/чыгаруу сыяктуу операцияларды аткарбайт;

AOF форматындагы файлдар менен салыштырганда, RDB файлдары тезирээк өчүрүлөт.

2) РДБнын кемчиликтери

RDB белгилүү бир убакыт аралыгында гана маалыматтарды сактай алгандыктан, Redis кызматы кокусунан ортодо токтотулса, Redis маалыматтары белгилүү бир убакытка жоголот;

РДБ аны кошумча жазууну колдонуу менен дискте сактоо үчүн тез-тез айрыларды талап кылган процесс.

Эгерде берилиштер топтому чоң болсо, айры көп убакытты талап кылышы мүмкүн, ал эми берилиштер топтому чоң болсо, процессордун иштеши начар, бул Редистин кардарларды бир нече миллисекунд, атүгүл бир секундага тейлей албай калышына алып келиши мүмкүн.

Албетте, биз Redisтин натыйжалуулугун жогорулатуу үчүн туруктуулукту өчүрө алабыз.

Эгер сиз маалыматтын жоголушуна сезгич болбосоңуз, анда сиз муну кардар туташып жатканда жасай аласыз config set save "" Redis үчүн туруктуулукту өчүрүү буйругу.

боюнчаredis.conf, эгерде ичиндеsaveБашында бардык конфигурацияларга комментарий бериңиз, жана туруктуулук да өчүрүлөт, бирок бул көбүнчө жасалбайт.

Hope Chen Weiliang блогу ( https://www.chenweiliang.com/ ) бөлүштү "Redis RDB толук аты эмне? Redis RDB In-Memory Data Persistence Operation Mode, бул сиз үчүн пайдалуу.

Бул макаланын шилтемесин бөлүшүүгө кош келиңиз:https://www.chenweiliang.com/cwl-26677.html

Акыркы жаңылыктарды алуу үчүн Чен Вейляндын блогунун Telegram каналына кош келиңиз!

🔔 Каналдын башкы каталогунан баалуу "ChatGPT Content Marketing AI куралын колдонуу боюнча колдонмону" биринчилерден болуп алыңыз! 🌟
📚 Бул колдонмо чоң баалуулуктарды камтыйт, 🌟Бул сейрек кездешүүчү мүмкүнчүлүк, аны өткөрүп жибербеңиз! ⏰⌛💨
Бөлүшүп, жакса лайк!
Сиздин бөлүшүүңүз жана лайктарыңыз биздин үзгүлтүксүз мотивациябыз!

 

发表 评论

Электрондук почта дарегиңиз жарыяланбайт. Милдеттүү талаалар колдонулат * 标注

өйдө сыдырыңыз