Мақала анықтамалығы
RDB толық атауыRedis database
.
- Аты айтып тұрғандай, RDB деректерді сақтау үшін пайдаланылатын Redis дерекқоры болып табылады.
- Сондықтан, RDB тұрақтылығы арқылы Redis жадында сақталған деректер RDB файлына жазылады және тұрақтылыққа жету үшін дискіге сақталады.
- Redis ерекшелігі - ол деректерді сақтай алады, яғни деректердің жоғалмауын қамтамасыз ету үшін жадтағы деректерді дискіге жаза алады, сонымен қатар деректерді дискіден жадқа жүктей алады.
Бастапқыда 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 қолмен іске қосыңыз
Тұрақтылықты қолмен іске қосу үшін екі әрекет бар:save
和bgsave
.
Олардың арасындағы негізгі айырмашылық - 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 конфигурациясын орнатуға қатысты келесі екі жолды пайдалануға болады:
- Redis конфигурация файлын қолмен өзгертіңіз
- Пәрмен жолы параметрлерін пайдаланыңыз, 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 тұрақтылығы екі жолмен бөлінетінін білеміз: қолмен іске қосу және автоматты іске қосу:
- Оның артықшылығы - сақтау файлы шағын және Redis іске қосылғанда деректерді қалпына келтіру жылдамырақ.
- Кемшілігі - деректердің жоғалу қаупі бар.
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 арнасына қош келдіңіз!
📚 Бұл нұсқаулықта үлкен құндылық бар, 🌟Бұл сирек мүмкіндік, оны жіберіп алмаңыз! ⏰⌛💨
Ұнаса лайк басып, бөлісіңіз!
Сіздің бөлісулеріңіз бен лайктарыңыз - біздің үздіксіз мотивациямыз!