Якая поўная назва Redis RDB? Рэжым захавання дадзеных памяці Redis RDB

Поўная назва РДБRedis database.

  • Як вынікае з назвы, RDB - гэта база дадзеных Redis, якая выкарыстоўваецца для захоўвання дадзеных.
  • Такім чынам, праз захаванасць RDB даныя, якія захоўваюцца ў памяці Redis, запісваюцца ў файл RDB і захоўваюцца на дыску для дасягнення захаванасці.
  • Асаблівасцю Redis з'яўляецца тое, што ён можа захоўваць даныя, гэта значыць запісваць даныя з памяці на дыск, каб гарантаваць, што даныя не будуць страчаны, а таксама можа загружаць даныя з дыска ў памяць.

Якая поўная назва Redis RDB? Рэжым захавання дадзеных памяці Redis RDB

Усе аперацыі Redis у пачатку заснаваныя на памяці, таму прадукцыйнасць вельмі высокая, але пасля закрыцця праграмы даныя губляюцца.

Такім чынам, нам трэба запісваць дадзеныя ў памяці на дыск праз пэўныя прамежкі часу, што на жаргоне азначае здымак.

Пры аднаўленні файл здымка запісваецца непасрэдна ў памяць.

Гэта таксама адно з асноўных адрозненняў паміж 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. захаваць мн

  • save mn азначае, што на працягу m секунд, калі n клавіш зменіцца, захаванне аўтаматычна запускаецца.Параметры m і n можна знайсці ў канфігурацыйным файле Redis.
  • Напрыклад, захаванне 60 1 азначае, што на працягу 60 секунд, калі зменіцца адзін ключ, будзе запушчана захаванне RDB.
  • Сутнасць аўтаматычнага запуску захавання заключаецца ў тым, што калі зададзеныя ўмовы запуску выкананы, Redis аўтаматычна выканае каманду bgsave адзін раз.

Заўвага: калі ўсталявана некалькі каманд захавання mn, любая адна ўмова будзе выклікаць захаванне.

Напрыклад, мы ўсталёўваем наступныя дзве каманды save mn:

save 60 10
save 600 20
  • Калі значэнне ключа Redis змяняецца 60 разоў на працягу 10 секунд, будзе запушчана захаванне;
  • Калі ключ Redis змяняецца на працягу 60 секунд і калі значэнне змяняецца менш за 10 разоў, Redis вызначыць, ці быў ключ Redis мадыфікаваны не менш за 600 разоў на працягу 20 секунд, і, калі так, запусціць захаванне.

2. Флушал

  • Каманда flushall выкарыстоўваецца для ачысткі базы дадзеных Redis.
  • У вытворчых умовах яго трэба выкарыстоўваць з асцярожнасцю.
  • Калі Redis выконвае каманду flushall, яна запускае аўтаматычнае захаванне і ачышчае файл RDB.

3. Трыгер сінхранізацыі вядучы-падпарадкаваны

У рэплікацыі галоўны-падпарадкаваны 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. Выкарыстоўвайце налады каманднага радка, каталог канфігурацыі "/usr/data" - гэта каманда захоўвання для змены файла RDB

Заўвага: канфігурацыю ў redis.conf можна атрымаць праз config get xxx і змяніць праз config set xxx value, і метад ручной змены файла канфігурацыі 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 патрабуе частых разгалінаванняў, каб захаваць яго на дыску з дапамогай падзапісу.

Калі набор даных вялікі, форк можа заняць шмат часу, а калі набор даных вялікі, прадукцыйнасць працэсара нізкая, што можа прывесці да таго, што Redis не зможа абслугоўваць кліентаў на працягу некалькіх мілісекунд ці нават секунды.

Вядома, мы таксама можам адключыць захаванне, каб павысіць эфектыўнасць выканання Redis.

Калі вы не адчувальныя да страты даных, вы можаце зрабіць гэта пры падключэнні кліента config set save "" Каманда для адключэння захаванасці для Redis.

redis.conf, калі ўsaveЗакаментуйце ўсе канфігурацыі ў пачатку, і захаванне таксама будзе адключана, але гэта звычайна не робіцца.

Блог Hope Chen Weiliang ( https://www.chenweiliang.com/ ) падзяліўся "Як поўная назва Redis RDB? Рэжым захавання дадзеных Redis RDB In-Memory, які дапаможа вам.

Запрашаем падзяліцца спасылкай на гэты артыкул:https://www.chenweiliang.com/cwl-26677.html

Сардэчна запрашаем на канал Telegram у блогу Чэнь Вэйляна, каб атрымліваць апошнія абнаўленні!

🔔 Будзьце першым, хто атрымае каштоўнае "Кіраўніцтва па выкарыстанні інструмента AI для маркетынгу кантэнту ChatGPT" у верхнім каталогу канала! 🌟
📚 Гэты дапаможнік мае вялікую каштоўнасць, 🌟Гэта рэдкая магчымасць, не прапусціце яе! ⏰⌛💨
Падзяліцеся і лайкайце, калі хочаце!
Ваш абмен і лайкі - наша пастаянная матывацыя!

 

发表 评论

Ваш адрас электроннай пошты не будзе апублікаваны. 必填 项 已 用 * Этыкетка

пракруціць ўверх