Redis RDB толық аты қалай аталады? Redis RDB жады деректерінің тұрақты жұмыс режимі

RDB толық атауыRedis database.

  • Аты айтып тұрғандай, RDB деректерді сақтау үшін пайдаланылатын Redis дерекқоры болып табылады.
  • Сондықтан, RDB тұрақтылығы арқылы Redis жадында сақталған деректер RDB файлына жазылады және тұрақтылыққа жету үшін дискіге сақталады.
  • Redis ерекшелігі - ол деректерді сақтай алады, яғни деректердің жоғалмауын қамтамасыз ету үшін жадтағы деректерді дискіге жаза алады, сонымен қатар деректерді дискіден жадқа жүктей алады.

Redis RDB толық аты қалай аталады? Redis RDB жады деректерінің тұрақты жұмыс режимі

Бастапқыда Redis операцияларының барлығы жадқа негізделген, сондықтан өнімділік өте жоғары, бірақ бағдарлама жабылғаннан кейін деректер жоғалады.

Сондықтан жадтағы деректерді дискіге белгіленген аралықтарда жазуымыз керек, ол жаргонда 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-ті блоктау күйіне келтіреді.Ол 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 үнемдеңіз

  • 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. Негізгі-құлалық синхрондау триггері

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 бағдарламасының dump.rdb RDB кэш файлын қолмен жойғыңыз келсе, dump.rdb файлының сақтау жолын табу үшін келесі пәрменді пайдалануға болады▼

find / -name dump.rdb
  • Содан кейін dump.rdb кэш файлын SSH арқылы қолмен жойыңыз.

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

RDB конфигурациясын орнатуға қатысты келесі екі жолды пайдалануға болады:

  1. Redis конфигурация файлын қолмен өзгертіңіз
  2. Пәрмен жолы параметрлерін пайдаланыңыз, config set dir "/usr/data" - RDB файлын өзгертуге арналған сақтау пәрмені

Ескертпе: redis.conf ішіндегі конфигурацияны get xxx конфигурациялау арқылы алуға және xxx конфигурациялау жиынының мәні арқылы өзгертуге болады, ал Redis конфигурация файлын қолмен өзгерту әдісі жаһандық деңгейде тиімді, яғни Redis серверін қайта іске қосу арқылы орнатылған параметрлер орындалмайды. жоғалуы мүмкін, бірақ пәрмен арқылы өзгертілсе, ол Redis қайта іске қосылғаннан кейін жоғалады.

Дегенмен, дереу күшіне енуі үшін Redis конфигурация файлын қолмен өзгерткіңіз келсе, Redis серверін қайта іске қосуыңыз қажет және пәрмен әдісі Redis серверін қайта іске қосуды қажет етпейді.

RDB файлдарын қалпына келтіру

Redis сервері іске қосылғанда, dump.rdb RDB файлы Redis түбірлік каталогында бар болса, Redis тұрақты деректерді қалпына келтіру үшін RDB файлын автоматты түрде жүктейді.

Түбірлік каталогта dump.rdb файлы болмаса, dump.rdb файлын Redis түбірлік каталогына жылжытыңыз.

Әрине, Redis іске қосылғанда журнал ақпараты бар, ол RDB файлының жүктелгенін көрсетеді.

Redis сервері RDB файлын жүктеп жатқанда, жүктеу аяқталғанша блоктайды.

Енді біз RDB тұрақтылығы екі жолмен бөлінетінін білеміз: қолмен іске қосу және автоматты іске қосу:

  1. Оның артықшылығы - сақтау файлы шағын және Redis іске қосылғанда деректерді қалпына келтіру жылдамырақ.
  2. Кемшілігі - деректердің жоғалу қаупі бар.

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 жадтағы деректердің тұрақты жұмыс режимі» сізге көмектеседі.

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

Соңғы жаңартуларды алу үшін Чен Вэйлян блогының Telegram арнасына қош келдіңіз!

🔔 Арнаның жоғарғы каталогындағы құнды "ChatGPT мазмұнды маркетингтік AI құралын пайдалану нұсқаулығын" бірінші болып алыңыз! 🌟
📚 Бұл нұсқаулықта үлкен құндылық бар, 🌟Бұл сирек мүмкіндік, оны жіберіп алмаңыз! ⏰⌛💨
Ұнаса лайк басып, бөлісіңіз!
Сіздің бөлісулеріңіз бен лайктарыңыз - біздің үздіксіз мотивациямыз!

 

Пікірлер

Сіздің электрондық пошта мекен-жайыңыз жарияланбайды. 必填 项 已 用 * 标注

жоғарыға жылжытыңыз