Η επιμονή Redis είναι διαθέσιμη σε δύο τύπους: RDB και AOF και η προεπιλογή είναι η διαμόρφωση επιμονής RDB
Το RDB καταγράφει λειτουργίες για μια χρονική περίοδο και η διαμόρφωση ενός δίσκου διατηρείται μετά από περισσότερο από μια περίοδο λειτουργίας. Το AOF επιτρέπει την επιμονή κάθε λειτουργίας.
Λειτουργία διατήρησης στιγμιότυπου
Τα στιγμιότυπα είναι ο προεπιλεγμένος τρόπος διατήρησης. Αυτή η μέθοδος είναι να γράψετε τα δεδομένα στη μνήμη ως στιγμιότυπο σε ένα δυαδικό αρχείο και το προεπιλεγμένο όνομα αρχείου είναι dump.rdb. Μπορείτε να διαμορφώσετε αυτόματα τη μέθοδο διατήρησης στιγμιότυπου. Μπορούμε να ρυθμίσουμε το redis ώστε να λαμβάνει αυτόματα στιγμιότυπα εάν τροποποιηθούν περισσότερα από m κλειδιά εντός n δευτερολέπτων, ακολουθεί η προεπιλεγμένη διαμόρφωση αποθήκευσης στιγμιότυπου
Αποθήκευση 900 1 #900秒内如果超过1个key被修改, ξεκινά η αποθήκευση στιγμιότυπου αποθήκευση 300 10 #300秒内容如超过10个key被修改, ξεκινά η αποθήκευση στιγμιότυπου Αποθήκευση 60 10000
Λειτουργία επιμονής AOF
Για να διαμορφώσετε τη μέθοδο, ανοίξτε το αρχείο διαμόρφωσης Redis. Βρείτε το AppendOnly. Η προεπιλογή είναι appendonly no. Άλλαξε σε appendonly ναι. Επιλογές:
1, Προσάρτημα Fsync Όχι
Όταν το appendfsync έχει οριστεί σε όχι, το Redis δεν θα καλέσει ενεργά το fsync για να συγχρονίσει το περιεχόμενο καταγραφής AOF στο δίσκο, επομένως όλα εξαρτώνται εξ ολοκλήρου από τον εντοπισμό σφαλμάτων του λειτουργικού συστήματος. Για τα περισσότερα λειτουργικά συστήματα Linux, το fsync γίνεται κάθε 30 δευτερόλεπτα για την εγγραφή δεδομένων από το buffer στο δίσκο.
2, appendfsync κάθε δευτερόλεπτο
Όταν το appendfsync έχει οριστεί σε everysec, το Redis θα πραγματοποιεί μια κλήση fsync κάθε δευτερόλεπτο από προεπιλογή για να γράψει τα δεδομένα στο buffer στο δίσκο. Ωστόσο, όταν η κλήση fsync διαρκεί περισσότερο από 1 δευτερόλεπτο. Ο Redis θα ακολουθήσει την πολιτική της καθυστέρησης του fsync και θα περιμένει άλλο ένα δευτερόλεπτο. Δηλαδή, το fsync εκτελείται μετά από δύο δευτερόλεπτα και αυτή τη φορά το fsync θα εκτελεστεί ανεξάρτητα από το πόσο καιρό θα εκτελεστεί. Αυτή τη στιγμή, η τρέχουσα λειτουργία εγγραφής θα αποκλειστεί επειδή ο περιγραφέας αρχείου θα αποκλειστεί κατά τη διάρκεια του fsync.
Έτσι, η ουσία είναι: στις περισσότερες περιπτώσεις, το Redis θα συγχρονίζεται κάθε δευτερόλεπτο. Στη χειρότερη περίπτωση, μια λειτουργία fsync θα πραγματοποιείται κάθε δύο δευτερόλεπτα.
Αυτή η λειτουργία ονομάζεται δέσμευση ομάδας στα περισσότερα συστήματα βάσεων δεδομένων, η οποία είναι ο συνδυασμός δεδομένων από πολλαπλές λειτουργίες εγγραφής και εγγράφει το αρχείο καταγραφής στο δίσκο ταυτόχρονα.
3, appednfsync πάντα
Όταν το appendfsync έχει οριστεί σε πάντα, το fsync καλείται μία φορά για κάθε λειτουργία εγγραφής, όταν τα δεδομένα είναι τα πιο ασφαλή και, φυσικά, η απόδοσή του επηρεάζεται επίσης επειδή το fsync εκτελείται κάθε φορά
Συνιστάται το Appendfsync everysec (προεπιλογή)
Η λειτουργία στιγμιότυπου μπορεί να ενεργοποιηθεί ταυτόχρονα με τη λειτουργία AOF, δεν επηρεάζουν το ένα το άλλο
Το Redis απενεργοποιεί την επιμονή
Η διατήρηση δεδομένων είναι ένα χαρακτηριστικό που ξεχωρίζει το Redis από άλλες κρυφές μνήμες και έχει προφανή πλεονεκτήματα. Αλλά αν δεν θέλω το Redis να διατηρήσει τα δεδομένα τώρα, θέλω απλώς να τα χρησιμοποιήσω ως κρυφή μνήμη, όπως και η προσωρινή μνήμη memcache. Το έψαξα στο Διαδίκτυο και όλα εισήγαγαν πώς να ενεργοποιήσω την επιμονή Redis και υπήρχε πολύ λίγο περιεχόμενο για το πώς να απενεργοποιήσω την επιμονή.
Τροποποιήστε το αρχείο διαμόρφωσης Σχολιάστε όλες τις αποθηκευμένες πληροφορίες διαμόρφωσης στο αρχείο διαμόρφωσης ως εξής:
Ή τροποποιήστε το αρχείο διαμόρφωσης ως εξής:
Αφού ολοκληρωθεί η τροποποίηση, επανεκκινήστε την υπηρεσία Redis.
Εκτελέστε την εντολή ενέργειας Σύνταξη:
Μετά την εκτέλεση της εντολής, τίθεται σε ισχύ χωρίς επανεκκίνηση της υπηρεσίας.
|