Директориум за статии
Целосното име на RDB еRedis database.
- Како што сугерира името, RDB е база на податоци на Redis што се користи за складирање на податоци.
- Затоа, преку RDB упорност, податоците зачувани во меморијата Redis се запишуваат во датотеката RDB и се зачувуваат на дискот за да се постигне упорност.
- Карактеристиката на Redis е тоа што може да опстојува податоци, односно да запишува податоци во меморијата на дискот за да се осигура дека нема да се изгубат податоци, а исто така може да вчита податоци од дискот во меморијата.

Операциите на Redis на почетокот се засноваат на меморија, така што перформансите се многу високи, но штом програмата ќе се затвори, податоците се губат.
Затоа, треба да пишуваме податоци во меморијата на дискот во одредени интервали, што е Snapshot во жаргон.
Кога се обновува, датотеката со слика се запишува директно во меморијата.
Ова е исто така една од главните разлики помеѓу Redis и Memcached, бидејќи Memcached нема способност за упорност.
За постојаност на податоците од меморијата на Redis, Redis ни ги обезбедува следниве методи:
- Метод на снимка (RDB, Redis DataBase): пишувајте мемориски податоци на дискот во бинарна форма во одреден момент;
- Додај само датотека (AOF, Додај само датотека), сними ги сите команди за работа и додај ја датотеката во текстуална форма;
- Хибридна упорност, нов метод по Redis 4.0, хибридната упорност ги комбинира предностите на RDB и AOF.Кога пишувате, прво напишете ги тековните податоци на почетокот на датотеката во форма на RDB, а потоа зачувајте ги последователните оперативни команди во датотеката во форма на AOF, што не само што може да ја обезбеди брзината на рестартирање на 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 значи дека во рок од 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 се користи за испирање на базата на податоци на Redis.
- Мора да се користи со претпазливост во производствена средина.
- Кога Redis ја извршува командата flushall, таа активира автоматско упорност и ја брише датотеката RDB.
3. Активирање за синхронизација на Master-slave
Во Redis master-slave репликацијата, кога slave јазолот врши целосна операција за репликација, главниот јазол ќе ја изврши командата bgsave за да ја испрати датотеката RDB до slave јазолот.Овој процес автоматски ја активира 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.
Редис ја поставува конфигурацијата на RDB
Во врска со поставувањето на конфигурацијата на RDB, можете да ги користите следниве два начина:
- Рачно изменете ја конфигурациската датотека Redis
- Користете ги поставките на командната линија, сет за конфигурација dir "/usr/data" е командата за складирање за да ја измените датотеката RDB
Забелешка: Конфигурацијата во redis.conf може да се добие преку config get xxx и модифицирана преку config set xxx вредност, а методот за рачно менување на конфигурациската датотека Redis е глобално ефективен, односно параметрите поставени со рестартирање на серверот Redis нема да да се изгуби, но да се измени со помош на командата , ќе се изгуби откако ќе се рестартира Redis.
Меѓутоа, ако сакате рачно да ја измените конфигурациската датотека Redis за да стапи на сила веднаш, треба да го рестартирате серверот Redis, а методот на команда не бара рестартирање на серверот Redis.
Обнова на RDB датотека
Кога ќе се стартува серверот Redis, ако датотеката RDB dump.rdb постои во root директориумот Redis, Redis автоматски ќе ја вчита датотеката RDB за да ги врати постојаните податоци.
Ако нема датотека dump.rdb во root директориумот, прво преместете ја датотеката dump.rdb во root директориумот на Redis.
Се разбира, има информации за евиденција кога ќе започне Redis, што ќе покаже дали датотеката RDB е вчитана.
Серверот Redis блокира додека се вчитува RDB-датотеката додека не заврши вчитувањето.
Сега знаеме дека упорноста на RDB е поделена на два начина: рачно активирање и автоматско активирање:
- Неговата предност е што датотеката за складирање е мала и обновувањето на податоците е побрзо кога ќе се стартува Redis.
- Недостаток е тоа што постои ризик од губење на податоци.
Обновувањето на RDB-датотеките е исто така многу едноставно.Само ставете ги RDB-датотеките во root директориумот на 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 Data Persistence Operation Mode“, ќе ви помогне.
Добредојдовте да ја споделите врската од оваа статија:https://www.chenweiliang.com/cwl-26677.html
