Номи пурраи Redis RDB чист? Реҷаи кори доимии хотираи Redis RDB

Номи пурраи RDB астRedis database.

  • Тавре ки аз ном бармеояд, RDB махзани Redis мебошад, ки барои нигоҳ доштани маълумот истифода мешавад.
  • Аз ин рӯ, тавассути устувории RDB, маълумоте, ки дар хотираи Redis нигоҳ дошта мешавад, ба файли RDB навишта мешавад ва барои ноил шудан ба устуворӣ дар диск захира карда мешавад.
  • Хусусияти Redis дар он аст, ки он метавонад маълумотро нигоҳ дорад, яъне маълумотро дар хотира ба диск нависед, то ки ягон маълумот гум нашавад ва инчунин метавонад маълумотро аз диск ба хотира бор кунад.

Номи пурраи Redis RDB чист? Реҷаи кори доимии хотираи Redis RDB

Амалиётҳои Redis дар аввал ҳама ба хотира асос ёфтаанд, бинобар ин, иҷроиш хеле баланд аст, аммо вақте ки барнома баста мешавад, маълумот гум мешавад.

Аз ин рӯ, ба мо лозим аст, ки маълумоти дохили хотираро дар фосилаҳои муайян ба диск нависем, ки Snapshot бо жаргон аст.

Ҳангоми барқарорсозӣ, файли аксбардорӣ бевосита ба хотира навишта мешавад.

Ин инчунин яке аз фарқиятҳои асосии байни Redis ва Memcached аст, зеро Memcached қобилияти устуворӣ надорад.

Барои устувории маълумоти хотираи Redis, Redis ба мо усулҳои зеринро пешниҳод мекунад:

  • Усули аксбардорӣ (RDB, Redis DataBase): навиштани маълумоти хотира ба диск дар шакли дуӣ дар лаҳзаи муайян;
  • Илова кардани танҳо файл (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-ро дар ҳолати басташавӣ мегардонад.Он ба фармонҳои фиристодаи мизоҷони дигар то он даме, ки RDB устувор нашавад, ҷавоб намедиҳад, аз ин рӯ онро бояд бо эҳтиёт истифода бурд. муҳити истеҳсолӣ.

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 маънои онро дорад, ки дар давоми m сония, агар 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. Триггери ҳамоҳангсозии Master-ғулом

Дар репликатсияи усто-ғуломи Redis, вақте ки гиреҳи ғулом амалиёти такрории пурраро иҷро мекунад, гиреҳи асосӣ фармони bgsave-ро барои фиристодани файли RDB ба гиреҳи ғулом иҷро мекунад.Ин раванд ба таври худкор устувории Redis-ро ба вуҷуд меорад.

Redis метавонад тавассути фармонҳо параметрҳои конфигуратсияи ҷорӣро пурсад.

Формати фармони дархост ин аст:config get xxx

Масалан, агар шумо хоҳед, ки танзимоти номи нигаҳдории файли RDB-ро гиред, шумо метавонед истифода баред config get dbfilename .

Таъсири иҷроиш чунин аст:

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

Азбаски сервери Redis ҳангоми боркунии файли RDB то анҷоми боркунӣ масдуд мешавад, он метавонад муддати тӯлониро ба бор орад ва дастрасӣ ба вебсайт имконнопазир бошад.

Агар шумо хоҳед, ки файли кэши RDB dump.rdb-и Redis-ро дастӣ нест кунед, шумо метавонед фармони зеринро барои дарёфти роҳи нигаҳдории файли dump.rdb истифода баред▼

find / -name dump.rdb
  • Сипас, файли кэши dump.rdb-ро тавассути SSH дастӣ нест кунед.

Redis конфигуратсияи RDB-ро муқаррар мекунад

Дар мавриди танзими конфигуратсияи RDB, шумо метавонед ду роҳи зеринро истифода баред:

  1. Файли конфигуратсияи Redis-ро дастӣ тағир диҳед
  2. Танзимоти сатри фармонро истифода баред, конфигуратсияи танзим dir "/usr/data" фармони нигаҳдорӣ барои тағир додани файли RDB мебошад

Эзоҳ: Конфигуратсияро дар redis.conf тавассути конфигуратсияи 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 раванди кӯдакро барои нигоҳ доштани маълумот дар диск таҳрик медиҳад.

Раванди асосии Redis амалиётҳоеро ба мисли диски воридотӣ/барорӣ иҷро намекунад;

Дар муқоиса бо файлҳои формати AOF, файлҳои RDB зудтар аз нав оғоз мешаванд.

2) Камбудиҳои RDB

Азбаски RDB метавонад маълумотро танҳо дар фосилаи муайяни вақт захира кунад, агар хидмати Redis дар мобайн тасодуфан қатъ карда шавад, маълумоти Redis барои як муддат гум мешавад;

Раванде, ки дар он RDB барои захира кардани он дар диск бо истифода аз зернависӣ форкҳои зуд-зуд талаб мекунад.

Агар маҷмӯаи додаҳо калон бошад, форк метавонад вақтро сарф кунад ва агар маҷмӯи додаҳо калон бошад, кори CPU паст аст, ки метавонад Redis ба муштариён дар тӯли чанд миллисония ё ҳатто як сония хидмат расонад.

Албатта, мо инчунин метавонем устувориро барои баланд бардоштани самаранокии иҷрои Redis хомӯш кунем.

Агар шумо ба талафи маълумот ҳассос набошед, шумо метавонед ин корро ҳангоми пайваст шудани муштарӣ иҷро кунед config set save "" Фармони хомӯш кардани устуворӣ барои Redis.

redis.conf, агар дарsaveҲама конфигуратсияҳоро дар аввал шарҳ диҳед ва устуворӣ низ ғайрифаъол мешавад, аммо ин умуман иҷро намешавад.

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) муштарак "Номи пурраи Redis RDB чист? Редис RDB режими кори доимии маълумот дар хотира" ба шумо кӯмак мекунад.

Хуш омадед ба мубодилаи истиноди ин мақола:https://www.chenweiliang.com/cwl-26677.html

Хуш омадед ба канали Telegram блоги Чен Вейлян барои гирифтани навсозиҳои охирин!

🔔 Аввалин шуда дар феҳристи болоии канал "Дастури истифодаи абзори AI-и ChatGPT Content Marketing" -ро гиред! 🌟
📚 Ин дастур дорои арзиши бузург аст, 🌟Ин як имконияти нодир аст, онро аз даст надиҳед! ⏰⌛💨
Агар ба шумо маъқул бошад, мубодила кунед ва лайк монед!
Мубодилаи шумо ва лайкҳои шумо ангезаи доимии мост!

 

发表 评论

Суроғаи почтаи электронии шумо нашр карда намешавад. 必填 项 已 用 * Нишон

ба боло ҳаракат кунед