Persistence на Redis е наличен в два типа: RDB и AOF, като по подразбиране е конфигурация на RDB persistence
RDB записва операциите за определен период от време, а конфигурацията на диска се запазва след повече от период на работа. AOF позволява запазване на всяка операция.
Режим на запазване на снимките
Снимките са по подразбиране за запазване. Този метод е да се записват данните в паметта като snapshot в двоичен файл, а стандартното име на файла е dump.rdb. Можеш автоматично да конфигурираш метода за запазване на снимките. Можем да конфигурираме Redis да прави автоматично снимки, ако повече от m клавиша бъдат променени в рамките на n секунди; следното е стандартната конфигурация за запазване на снимки
Запази 900 1 #900秒内如果超过1个key被修改, задейства се запазването на снимката Запазете 300 10 #300秒内容如超过10个key被修改, задейства се запазването на снимката Спестете 60 10000
Режим на устойчивост на AOF
За да конфигурирате метода, отворете конфигурационния файл на Redis. Намерете AppendOnly. По подразбиране е само приложение не. Смених се само на приложение, да. Опции:
1、appendfsync no
Когато appendfsync е настроен на no, Redis няма активно да извиква fsync, за да синхронизира съдържанието на AOF логовете с диска, така че всичко зависи изцяло от дебъгването на операционната система. За повечето Linux операционни системи fsync се прави на всеки 30 секунди, за да се записват данни от буфера към диска.
2、appendfsync everysec
Когато appendfsync е настроен на everysec, Redis по подразбиране прави fsync извикване всяка секунда, за да запише данните в буфера към диска. Въпреки това, когато fsync обаждането продължава повече от 1 секунда. Redis ще приеме политиката за забавяне на fsync и ще изчака още секунда. Тоест, fsync се изпълнява след две секунди и този път fsync ще се изпълнява, независимо колко дълго ще се изпълнява. В този момент текущата операция по запис ще бъде блокирана, защото файловият дескриптор ще бъде блокиран по време на fsync.
Така че, в крайна сметка: в повечето случаи Redis ще се fsync-ва всяка секунда. В най-лошия случай операция fsync ще се извършва на всеки две секунди.
Тази операция се нарича групово потвърждение в повечето бази данни, което представлява комбинация от данни от няколко операции за запис и записване на лог на диск едновременно.
3、appednfsync винаги
Когато appendfsync е настроен на винаги, fsync се извиква веднъж за всяка операция по запис, когато данните са най-сигурни, и разбира се, производителността му също се влияе, защото fsync се изпълнява всеки път
Препоръчва се appendfsync всеки момент (по подразбиране)
Режимът на моментна снимка може да се активира едновременно с режима AOF, не се засягат взаимно
Redis изключва постоянството
Запазването на данните е функция, която отличава Redis от другите кешове и има очевидни предимства. Но ако не искам Redis да запазва данните сега, просто искам да ги използвам като кеш, точно както кеша на memcache. Проверих го в интернет и всичко показваше как да се включи persistence в Redis, а имаше много малко съдържание за това как да се изключи persistence.
Модифициране на конфигурационния файл Коментирайте цялата информация за конфигурацията на записа във файла за конфигурация по следния начин:
Или да модифицирате конфигурационния файл по следния начин:
След като модификацията приключи, рестартирайте услугата Redis.
Изпълни командата за действие Синтаксис:
След изпълнение на командата, тя влиза в сила без рестартиране на услугата.
|