τα στοιχεία επικοινωνίας μου
Ταχυδρομείο[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Το Redis (RemoteDictionaryServer, τύπος απομακρυσμένου λεξικού) είναι μια βάση δεδομένων NoSQL ανοιχτού κώδικα γραμμένη σε γλώσσα C. Το Redis εκτελείται με βάση τη μνήμη και υποστηρίζει την επιμονή.
NoSQL (NoSQL= Όχι μόνο SQL), που σημαίνει "όχι μόνο SQL", είναι ο γενικός όρος για τις μη σχεσιακές βάσεις δεδομένων. Οι κύριες βάσεις δεδομένων NoSQL περιλαμβάνουν τις Redis, MongBD, Hbase, CouhDB, κ.λπ. Οι παραπάνω μη σχεσιακές βάσεις δεδομένων είναι εντελώς διαφορετικές ως προς τις μεθόδους αποθήκευσης, τις δομές αποθήκευσης και τα σενάρια χρήσης. Έτσι πιστεύουμε ότι είναι μια συλλογή από μη σχεσιακές βάσεις δεδομένων, όχι ένας γενικός όρος όπως οι σχεσιακές βάσεις δεδομένων. Με άλλα λόγια, οι βάσεις δεδομένων εκτός από τις κύριες σχεσιακές βάσεις δεδομένων μπορούν να θεωρηθούν μη σχεσιακές. Η βάση δεδομένων NOSQL θεωρείται ότι είναι το προϊόν βάσης δεδομένων επόμενης γενιάς λόγω των πλεονεκτημάτων της στη μη σχεσιακή, κατανεμημένη, ανοιχτού κώδικα και οριζόντια επέκταση.
Μια σχεσιακή βάση δεδομένων είναι μια δομημένη βάση δεδομένων που βασίζεται σε ένα σχεσιακό μοντέλο και είναι γενικά προσανατολισμένη στην εγγραφή. Επεξεργάζεται δεδομένα σε βάσεις δεδομένων με τη βοήθεια μαθηματικών εννοιών και μεθόδων όπως η άλγεβρα συνόλων. Το σχεσιακό μοντέλο αναφέρεται στο μοντέλο του δισδιάστατου πίνακα, επομένως μια σχεσιακή βάση δεδομένων είναι μια οργάνωση δεδομένων που αποτελείται από δισδιάστατους πίνακες και τις σχέσεις μεταξύ τους. Στον πραγματικό κόσμο, διάφορες οντότητες και διάφορες σχέσεις μεταξύ οντοτήτων μπορούν να αναπαρασταθούν με σχεσιακά μοντέλα. Η δήλωση SQL (Standard Data Query Language) είναι μια γλώσσα που βασίζεται σε μια σχεσιακή βάση δεδομένων και χρησιμοποιείται για την ανάκτηση και τη λειτουργία δεδομένων σε μια σχεσιακή βάση δεδομένων.
Με την άνοδο των ιστότοπων Web2.0, οι σχεσιακές βάσεις δεδομένων εκτίθενται όταν ασχολούμαστε με ιστοσελίδες Web2.0, ειδικά Web2.0 καθαρά δυναμικές ιστοσελίδες με τεράστια δεδομένα και SNS υψηλής συγχρονισμού (Υπηρεσίες Κοινωνικής Δικτύωσης, δηλαδή υπηρεσίες κοινωνικών δικτύων). που είναι δύσκολο να λυθούν, όπως το πρόβλημα τριών υψηλών.
Οι ιστότοποι Web2.0 θα δημιουργούν δυναμικές σελίδες και θα παρέχουν δυναμικές πληροφορίες σε πραγματικό χρόνο με βάση τις εξατομικευμένες πληροφορίες του χρήστη, επομένως δεν μπορεί να χρησιμοποιηθεί η στατική τεχνολογία δυναμικής σελίδας. Επομένως, ο ταυτόχρονος φόρτος της βάσης δεδομένων είναι πολύ υψηλός, φθάνοντας γενικά σε περισσότερα από 10.000 αιτήματα/α για ανάγνωση και εγγραφή. Η σχεσιακή βάση δεδομένων μπορεί να υποστηρίξει μετά βίας δεκάδες χιλιάδες αιτήματα ερωτημάτων, αλλά αν υπάρχουν δεκάδες χιλιάδες αιτήσεις εγγραφής δεδομένων, ο σκληρός δίσκος I0 δεν μπορεί πλέον να το αντέξει. Για τους συνηθισμένους ιστότοπους της BBS, υπάρχουν συχνά υψηλά ταυτόχρονα αιτήματα εγγραφής δεδομένων.
Οι ιστότοποι SNS, όπως το Facebook και το Friendfeed, παράγουν καθημερινά μεγάλο όγκο δυναμικών πληροφοριών χρήστη. Για παράδειγμα, το Friendfeed θα δημιουργήσει τουλάχιστον 250 εκατομμύρια δυναμικές πληροφορίες χρήστη σε ένα μήνα.
Στην αρχιτεκτονική του Ιστού, η βάση δεδομένων είναι η πιο δύσκολη στην οριζόντια κλίμακα. Όταν ο αριθμός των χρηστών και οι επισκέψεις στο σύστημα εφαρμογών αυξάνεται μέρα με τη μέρα, η βάση δεδομένων δεν μπορεί απλώς να επεκτείνει την απόδοσή της και τη χωρητικότητα φόρτωσης προσθέτοντας κόμβους υλικού και διακομιστή, όπως υπηρεσίες Ιστού. Ειδικά για ορισμένους ιστότοπους που πρέπει να παρέχουν υπηρεσίες 24 ώρες το 24ωρο, οι αναβαθμίσεις και οι επεκτάσεις της βάσης δεδομένων συχνά συνοδεύονται από συντήρηση χρόνου διακοπής λειτουργίας και μετεγκατάσταση δεδομένων και ο φόρτος εργασίας είναι πολύ τεράστιος.
Οι σχεσιακές βάσεις δεδομένων και οι μη σχεσιακές βάσεις δεδομένων έχουν τα δικά τους χαρακτηριστικά και τα δικά τους σενάρια εφαρμογής Ο στενός συνδυασμός των δύο θα φέρει νέες ιδέες στην ανάπτυξη βάσεων δεδομένων Web2.0. Αφήστε τις σχεσιακές βάσεις δεδομένων να εστιάζουν στις σχέσεις και οι μη σχεσιακές βάσεις δεδομένων να εστιάζουν στην αποθήκευση. Για παράδειγμα, σε ένα περιβάλλον βάσης δεδομένων MySQL όπου η ανάγνωση και η γραφή διαχωρίζονται, τα δεδομένα με συχνή πρόσβαση μπορούν να αποθηκευτούν σε μια μη σχεσιακή βάση δεδομένων για τη βελτίωση της ταχύτητας πρόσβασης.
Έχει εξαιρετικά υψηλές ταχύτητες ανάγνωσης και εγγραφής δεδομένων Η ταχύτητα ανάγνωσης δεδομένων μπορεί να φτάσει έως και 110.000 φορές/δευτερόλεπτο και η ταχύτητα εγγραφής δεδομένων μπορεί να φτάσει έως και 81.000 φορές/δευτερόλεπτο.
Υποστηρίζει τύπους εμπλουτισμένων δεδομένων, όχι μόνο υποστηρίζει απλά δεδομένα τύπου κλειδιού-τιμής, αλλά υποστηρίζει επίσης λειτουργίες τύπου δεδομένων όπως Συμβολοσειρές, Λίστες, Κατακερματισμοί, Σύνολα και Διατεταγμένα σύνολα.
Υποστηρίζει τη διατήρηση δεδομένων Τα δεδομένα στη μνήμη μπορούν να αποθηκευτούν στο δίσκο και μπορούν να φορτωθούν ξανά για χρήση κατά την επανεκκίνηση.
Ατομική, όλες οι λειτουργίες Redis είναι ατομικές.
Υποστηρίζει δημιουργία αντιγράφων ασφαλείας δεδομένων, δηλαδή δημιουργία αντιγράφων ασφαλείας δεδομένων σε λειτουργία κύριας αποθήκευσης.
Το Redis είναι μια βάση δεδομένων που βασίζεται σε μνήμη και η προσωρινή αποθήκευση είναι ένα από τα πιο κοινά σενάρια εφαρμογής. Επιπλέον, τα κοινά σενάρια εφαρμογών του Redis περιλαμβάνουν επίσης λειτουργίες για τη λήψη των πιο πρόσφατων N δεδομένων, κατάταξη εφαρμογών, εφαρμογές μετρητή, σχέσεις αποθήκευσης, συστήματα ανάλυσης σε πραγματικό χρόνο και καταγραφή.
[root@localhost ~]# systemctl stop firewalld //Στο πειραματικό περιβάλλον, η απενεργοποίηση του τείχους προστασίας δεν έχει αποτέλεσμα. Δεν συνιστάται η απενεργοποίηση του στο περιβάλλον παραγωγής.
[root@localhost ~]# setenforce 0 // Απενεργοποιήστε τον πυρήνα, που θα εμποδίσει την εκτέλεση της εφαρμογής.
[root@localhost ~]# yum -y install gcc* zlib-devel //Λήψη των εργαλείων που απαιτούνται για την αποσυμπίεση του πακέτου tar
[root@localhost ~]#Το tar xvzf redis-4.0.9.tar.gz //redis είναι μια εφαρμογή ανοιχτού κώδικα και δωρεάν Μπορείτε να κάνετε λήψη αυτού του πακέτου από τον επίσημο ιστότοπο
[root@localhost ~]#cd redis-4.0.9/
[root@localhost redis-4.0.9]# make
Ειδοποίηση:
Κατά την πραγματοποίηση, ενδέχεται να εμφανιστεί το ακόλουθο μήνυμα σφάλματος:
Λύση 1: Χρήσηκάνω MALLOC=lΤο ibc καθορίζει τον εκχωρητή μνήμης για το libcσυντάσσω
Λύση 2: καθαρίστε && make distclean
[root@localhost redis-4.0.9]# make PREFIX=/usr/local/redis install
[root@localhost ~]# ln -s /usr/local/redis/bin/* /usr/local/bin/
[root@localhost redis-4.0.9]# cd /root/redis-4.0.9/utils/
[root@localhost utils]# ./install_server.sh
Παρατήρηση:
Αρχείο διαμόρφωσης: /etc/redis/6379.conf //Διαδρομή αρχείου διαμόρφωσης
Αρχείο καταγραφής: /var/log/redis_6379.log //Διαδρομή αρχείου καταγραφής
Διεύθυνση δεδομένων: /var/lib/redis/6379 //Διαδρομή αρχείου δεδομένων
Εκτελέσιμο: /usr/local/redis/bin/redis-server //εκτελέσιμα διαδρομή αρχείου
Εκτελέσιμο Cli: /usr/local/redis/bin/redis-cli //Εργαλείο γραμμής εντολών πελάτη
[root@localhost utils]# netstat -anpt | grep redis
[root@localhost ~]#/etc/init.d/redis_6379 stop
[root@localhost ~]#/etc/init.d/redis_6379 start
[root@localhost ~]#/etc/init.d/redis_6379 επανεκκίνηση
[root@localhost ~]#/etc/init.d/redis_6379 κατάσταση
[root@localhost ~]#vim /etc/redis/6379.conf
δέσμευση 127.0.0.1 192.168.10.101 //Διεύθυνση κεντρικού υπολογιστή ακρόασης
θύρα 6379 //Λιμάνι
δαιμονίζω ναι //Ενεργοποίηση διαδικασίας δαίμονα
pidfile /var/run/redis_6379.pid //Καθορισμός αρχείου PID
ειδοποίηση loglevel //επίπεδο καταγραφής
logfile /var/log/redis_6379.log //Καθορισμός αρχείου καταγραφής
[root@localhost~]#/etc/init.d/redis_6379 επανεκκίνηση
[root@localhost utils]# netstat -anpt | grep redis
Ø redis-server: εργαλείο για την εκκίνηση του Redis.
Ø redis-benchmark: χρησιμοποιείται για τον εντοπισμό της αποδοτικότητας λειτουργίας του Redis σε αυτό το μηχάνημα.
Ø redis-check-aof: Επιδιόρθωση αρχείου επιμονής AOF.
Ø redis-check-rdb: Επιδιόρθωση αρχείων επιμονής RDB.
Ø redis-cli: Εργαλείο γραμμής εντολών Redis.
[root@localhost ~]# redis-cli
127.0.0.1:6379>
127.0.0.1:6379> ping
PONG
[root@localhost ~]#redis-cli -h 192.168.10.101 -p 6379
Ø help@<group> :Αποκτώ<group> Λίστα εντολών σε ;
Ø βοήθεια<command> : Λάβετε βοήθεια για μια συγκεκριμένη εντολή.
Ø βοήθεια<tab> : Λάβετε μια λίστα με θέματα που μπορεί να σας βοηθήσουν.
Παρατήρηση:
Ø βοήθεια<tab> : Λάβετε μια λίστα με θέματα που μπορεί να σας βοηθήσουν.
Αφού πληκτρολογήσετε βοήθεια, πατήστε το πλήκτρο tab
127.0.0.1:6379>help @list
127.0.0.1:6379>σύνολο βοήθειας
Το redis-benchmark είναι το επίσημο εργαλείο δοκιμών απόδοσης Redis που μπορεί να ελέγξει αποτελεσματικά την απόδοση των υπηρεσιών Redis.
Ø -h: Καθορίστε το όνομα του κεντρικού υπολογιστή του διακομιστή.
Ø -p: Καθορίστε τη θύρα διακομιστή.
Ø -s: Καθορίστε την υποδοχή διακομιστή.
Ø -c: Καθορίστε τον αριθμό των ταυτόχρονων συνδέσεων.
Ø -n: Καθορίστε τον αριθμό των αιτημάτων.
Ø -d: Καθορίστε το μέγεθος δεδομένων της τιμής SET/GET σε byte.
Ø -k:1=διατήρηση ζωής 0=επανασύνδεση;
Ø -r: Το SET/GET/INCR χρησιμοποιεί τυχαία κλειδιά, το SADD χρησιμοποιεί τυχαίες τιμές.
Ø -P: Μετάδοση μέσω σωλήνων<numreq> παρακαλώ;
Ø -q: Αναγκαστική έξοδος από το redis. Εμφανίζονται μόνο τιμές ερωτήματος/δευτ.
Ø --csv: Έξοδος σε μορφή CSV.
Ø -l: Δημιουργήστε έναν βρόχο και εκτελέστε τη δοκιμή μόνιμα.
Ø -t: Εκτελέστε μόνο μια λίστα δοκιμαστικών εντολών διαχωρισμένων με κόμματα.
Ø -I: Λειτουργία αδράνειας. Ανοίξτε μόνο N συνδέσεις αδράνειας και περιμένετε.
[root@localhost ~]#redis-benchmark -h 192.168.10.101 -p 6379 -c 100 -n 100000 //Αποστολή 100 ταυτόχρονων συνδέσεων και 100.000 δοκιμών αιτήματος στον διακομιστή Redis με διεύθυνση IP 192.617 επιδόσεις 192.617.
Παρατήρηση:
Ø -h: Καθορίστε το όνομα του κεντρικού υπολογιστή του διακομιστή.
Ø -p: Καθορίστε τη θύρα διακομιστή.
Ø -c: Καθορίστε τον αριθμό των ταυτόχρονων συνδέσεων.
Ø -n: Καθορίστε τον αριθμό των αιτημάτων.
====== MSET (10 κλειδιά) ======
100000 αιτήματα ολοκληρώθηκαν σε 1,02 δευτερόλεπτα
100 παράλληλοι πελάτες ##100 ταυτόχρονες συνδέσεις
ωφέλιμο φορτίο 3 byte
διατηρώ τη ζωή: 1
87,25% <= 1 χιλιοστά του δευτερολέπτου ##87,25% των χρόνων εκτέλεσης εντολών είναι μικρότεροι ή ίσοι με 1 χιλιοστό του δευτερολέπτου
99,90% <= 2 χιλιοστά του δευτερολέπτου
100,00% <= 2 χιλιοστά του δευτερολέπτου
97943,19 αιτήματα ανά δευτερόλεπτο #Αριθμός αιτημάτων ανά δευτερόλεπτο
[root@localhost ~]#redis-benchmark -h 192.168.10.101 -p 6379 -q -d 100
Παρατήρηση:
Ø -h: Καθορίστε το όνομα του κεντρικού υπολογιστή του διακομιστή.
Ø -p: Καθορίστε τη θύρα διακομιστή.
Ø -d: Καθορίστε το μέγεθος δεδομένων της τιμής SET/GET σε byte.
Ø -q: Αναγκαστική έξοδος από το redis. Εμφανίζονται μόνο τιμές ερωτήματος/δευτ.
PING_INLINE: 121506,68 αιτήματα ανά δευτερόλεπτο //Πόσες λειτουργίες PING ολοκληρώνονται ανά δευτερόλεπτο
PING_BULK: 124378,11 αιτήματα ανά δευτερόλεπτο
ΣΕΤ: 121654,50 αιτήματα ανά δευτερόλεπτο //Πόσες φορές ανά δευτερόλεπτο ολοκληρώνεται η τιμή του κλειδιού SET
GET: 122100,12 αιτήματα ανά δευτερόλεπτο //Πόσες τιμές κλειδιού GET ολοκληρώθηκαν ανά δευτερόλεπτο
INCR: 118764,84 αιτήματα ανά δευτερόλεπτο //Πόσες ατομικές μετρήσεις ολοκληρώνονται ανά δευτερόλεπτο
LPUSH: 112612,61 αιτήματα ανά δευτερόλεπτο
RPUSH: 118623,96 αιτήματα ανά δευτερόλεπτο
LPOP: 107874,87 αιτήματα ανά δευτερόλεπτο
RPOP: 114416,48 αιτήματα ανά δευτερόλεπτο
SADD: 123304,56 αιτήματα ανά δευτερόλεπτο
HSET: 122249,38 αιτήματα ανά δευτερόλεπτο
SPOP: 128040,97 αιτήματα ανά δευτερόλεπτο
LPUSH (απαιτείται για τη συγκριτική αξιολόγηση LRANGE): 116686,12 αιτήματα ανά δευτερόλεπτο
LRANGE_100 (πρώτα 100 στοιχεία): 40016,00 αιτήματα ανά δευτερόλεπτο
LRANGE_300 (πρώτα 300 στοιχεία): 11991,85 αιτήματα ανά δευτερόλεπτο
LRANGE_500 (πρώτα 450 στοιχεία): 7381,71 αιτήματα ανά δευτερόλεπτο
LRANGE_600 (πρώτα 600 στοιχεία): 5230,67 αιτήματα ανά δευτερόλεπτο
MSET (10 κλειδιά): 92421,44 αιτήματα ανά δευτερόλεπτο //Πολλαπλό πλήκτρο v ανά δευτερόλεπτοlaueΑριθμός αιτημάτων
[root@localhost ~]# redis-benchmark -t set,lpush -n 100000 -q //Ελέγξτε την απόδοση της υπηρεσίας Redis σε αυτό το μηχάνημα κατά τη διάρκεια των εργασιών ρύθμισης και ώθησης.
Παρατήρηση:
Ø -n: Καθορίστε τον αριθμό των αιτημάτων.
Ø -q: Αναγκαστική έξοδος από το redis. Εμφανίζονται μόνο τιμές ερωτήματος/δευτ.
Ø -t: Εκτελέστε μόνο μια λίστα δοκιμαστικών εντολών διαχωρισμένων με κόμματα.
ΣΕΤ: 121951,22 αιτήματα ανά δευτερόλεπτο
LPUSH: 127226,46 αιτήματα ανά δευτερόλεπτο
Ø σειρά: Αποθήκευση δεδομένων Η βασική μορφή εντολής είναι ορίστε την τιμή κλειδιού。
Ø παίρνω: Λήψη δεδομένων, η βασική μορφή εντολής είναι πάρε κλειδί。
υπάρχει Redis στη βάση δεδομένων, με κλειδί Οι σχετικές εντολές περιλαμβάνουν κυρίως τις εξής.
χρήση κλειδιά Η εντολή μπορεί να πάρει μια λίστα βασικών τιμών που συμμορφώνονται με τους κανόνες Συνήθως, μπορεί να συνδυαστεί* ,; επιλογές για χρήση.
127.0.0.1:6379>σύνολο k1 1
Εντάξει
127.0.0.1:6379>σύνολο k2 2
Εντάξει
127.0.0.1:6379>σύνολο k3 3
Εντάξει
127.0.0.1:6379>σύνολο v1 4
Εντάξει
127.0.0.1:6379>σύνολο v5 5
Εντάξει
127.0.0.1:6379>ΚΛΕΙΔΙΑ *
1) "δάσκαλος"
2) "k1"
3) "k2"
4) "k3"
5) "v1"
6) "v5"
127.0.0.1:6379>σύνολο v22 5
Εντάξει
127.0.0.1:6379>KEYS v*
1) "v1"
2) "v5"
3) "v22"
127.0.0.1:6379>KEYS v?
1) "v1"
2) "v5"
127.0.0.1:6379>KEYS v??
1) "v22"
υπάρχει Η εντολή μπορεί να καθορίσει εάν υπάρχει η τιμή κλειδιού
127.0.0.1:6379>υπάρχει δάσκαλος
(ακέραιος αριθμός) 1
Το αποτέλεσμα είναι 1, που σημαίνει δάσκαλος κλειδί υπάρχει
127.0.0.1:6379>υπάρχει τσάι
(ακέραιος) 0
Το αποτέλεσμα είναι 0, που σημαίνει τσάι κλειδί δεν υπάρχει
del Η εντολή μπορεί να διαγράψει το καθορισμένο κλειδί
127.0.0.1:6379>κλειδιά *
1) "δάσκαλος"
2) "v1"
3) "v22"
4) "k3"
5) "k1"
6) "k2"
7) "v5"
127.0.0.1:6379> del v5
(ακέραιος αριθμός) 1
127.0.0.1:6379>λήψη v5
(μηδέν)
χρήση τύπος Η εντολή μπορεί να ληφθεί κλειδί αντίστοιχος αξία τύπος τιμής
127.0.0.1:6379>τύπου k1
σειρά
Παρατήρηση:
Τύποι δεδομένων που υποστηρίζονται από το redis
μετονομάζω Η εντολή είναι για ένα υπάρχον κλειδί μετονομάζω
Σε πραγματική χρήση, συνιστάται η χρήση υπάρχει Εντολή για προβολή στόχου κλειδί υπάρχει και, στη συνέχεια, αποφασίστε εάν θα το εκτελέσετε μετονομάζω εντολή για αποφυγή αντικατάστασης σημαντικών δεδομένων
127.0.0.1:6379>πλήκτρα v*
1) "v1"
2) "v22"
127.0.0.1:6379>μετονομάστε v22 v2
Εντάξει
127.0.0.1:6379>πλήκτρα v*
1) "v1"
2) "v2"
127.0.0.1:6379>λάβετε v1
"4"
127.0.0.1:6379>λήψη v2
"5"
127.0.0.1:6379>μετονομασία v1 v2
Εντάξει
127.0.0.1:6379>λάβετε v1
(μηδέν)
127.0.0.1:6379>λήψη v2
"4"
μετονομασία Η λειτουργία της εντολής είναι να τροποποιήσει την υπάρχουσα κλειδί Πραγματοποιήστε μια μετονομασία και ελέγξτε αν υπάρχει το νέο όνομα.
χρήσημετονομασία Όταν η εντολή μετονομαστεί, εάν ο στόχος κλειδί Εάν υπάρχει, δεν θα μετονομαστεί.
127.0.0.1:6379>κλειδιά *
1) "δάσκαλος"
2) "k3"
3) "k1"
4) "k2"
5) "v2"
127.0.0.1:6379>πάρε δάσκαλο
"zhanglong"
127.0.0.1:6379>λήψη v2
"4"
127.0.0.1:6379>renamenx v2 δάσκαλος
(ακέραιος) 0
127.0.0.1:6379>κλειδιά *
1) "δάσκαλος"
2) "k3"
3) "k1"
4) "k2"
5) "v2"
127.0.0.1:6379>πάρε δάσκαλο
"zhanglong"
127.0.0.1:6379>λήψη v2
"4
dbsize Ο σκοπός της εντολής είναι η προβολή της τρέχουσας βάσης δεδομένων κλειδί Αριθμός των.
127.0.0.1:6379> dbsize
(ακέραιος αριθμός) 5
Redis Περιλαμβάνεται από προεπιλογή χωρίς καμία αλλαγή 16 βάση δεδομένων, το όνομα της βάσης δεδομένων είναι ένας αριθμός 0-15 να ονομαστεί κατά σειρά
(1)Μετάβαση στον σειριακό αριθμό 10 βάση δεδομένων
127.0.0.1:6379>επιλέξτε 10
Εντάξει
(2)Μετάβαση στον σειριακό αριθμό 15 βάση δεδομένων
127.0.0.1:6379[10]>επιλέξτε 15
Εντάξει
(3)Μετάβαση στον σειριακό αριθμό 0 βάση δεδομένων
127.0.0.1:6379[15]>επιλέξτε 0
Redis Οι πολλαπλές βάσεις δεδομένων είναι σχετικά ανεξάρτητες σε κάποιο βαθμό, για παράδειγμα, στη βάση δεδομένων 0 Αποθηκεύστε παραπάνω k1 δεδομένα, σε άλλα 1-15 Δεν μπορεί να προβληθεί στη βάση δεδομένων.
127.0.0.1:6379>σετ k1 100
Εντάξει
127.0.0.1:6379>πάρε k1
"100"
127.0.0.1:6379>επιλέξτε 1
Εντάξει
127.0.0.1:6379[1]>πάρε k1
(μηδέν)
127.0.0.1:6379[1]>επιλέξτε 0 //Μετάβαση στη βάση δεδομένων προορισμού 0
Εντάξει
127.0.0.1:6379>πάρε k1 //Ελέγξτε εάν υπάρχουν τα δεδομένα στόχου
"100"
127.0.0.1:6379>κίνηση k1 1 //βάση δεδομένων 0 Μέσης k1 Μετακίνηση στη βάση δεδομένων 1 Μέσης
(ακέραιος αριθμός) 1
127.0.0.1:6379>επιλέξτε 1 //Μετάβαση στη βάση δεδομένων προορισμού 1
Εντάξει
127.0.0.1:6379[1]>πάρε k1 //Προβολή μεταφερόμενων δεδομένων
"100"
127.0.0.1:6379[1]> επιλέξτε 0
Εντάξει
127.0.0.1:6379> πάρε k1 //στη βάση δεδομένων 0 Δεν είναι δυνατή η προβολή σε k1 αξία
(μηδέν)
Για να διαγράψετε τα τρέχοντα δεδομένα βάσης δεδομένων, χρησιμοποιήστε το FLUSHDB
Εφαρμογή εντολών, εκκαθάριση όλων των δεδομένων βάσης δεδομένων, χρήση FLUSHALL Εφαρμογή εντολών
Redis Όλα τα δεδομένα αποθηκεύονται στη μνήμη και στη συνέχεια αποθηκεύονται ασύγχρονα στο δίσκο από καιρό σε καιρό.(Αυτό ονομάζεται“Ημι-επίμονη λειτουργία”)Μπορείτε επίσης να γράψετε κάθε αλλαγή δεδομένων σε a προσθήκη μόνο αρχείου(aof)σε(Αυτό ονομάζεται“Λειτουργία πλήρους επιμονής”)。
Εφόσον τα δεδομένα Redis αποθηκεύονται στη μνήμη, εάν δεν έχει ρυθμιστεί η επιμονή,Redis Μετά την επανεκκίνηση, όλα τα δεδομένα χάνονται.Επομένως, είναι απαραίτητο να ενεργοποιηθείRedis Η συνάρτηση επιμονής αποθηκεύει δεδομένα στο δίσκο Πότε Redis Μετά από μια επανεκκίνηση, τα δεδομένα μπορούν να ανακτηθούν από το δίσκο.Redis Δύο μέθοδοι παρέχονται για επιμονή, η μία είναι RDB(Βάση Δεδομένων Redis) Επιμονή (η αρχή είναι να ReidsΧρονισμός καταγραφής βάσης δεδομένων στη μνήμη εγκαταλείπω στον δίσκο RDB επιμονή), το άλλο είναι ΑΟΦ(προσάρτηση μόνο αρχείο)Επιμονή (η αρχή είναι να Reids Το αρχείο καταγραφής λειτουργίας εγγράφεται στο αρχείο με συνημμένο τρόπο).
Η προεπιλεγμένη μέθοδος
Η επιμονή RDB είναι η διαδικασία δημιουργίας στιγμιότυπου των δεδομένων της τρέχουσας διεργασίας και αποθήκευσης στον σκληρό δίσκο Η διαδικασία ενεργοποίησης της επιμονής RDB χωρίζεται σε χειροκίνητη ενεργοποίηση και αυτόματη ενεργοποίηση.
Μηχανισμός ενεργοποίησης: Η χειροκίνητη ενεργοποίηση αντιστοιχεί στις εντολές αποθήκευσης και bgsave αντίστοιχα.
εντολή αποθήκευσης: μπλοκάρει τον τρέχοντα διακομιστή Redis μέχρι να ολοκληρωθεί η διαδικασία RDB Για περιπτώσεις με μεγάλη ποσότητα μνήμης, θα προκαλέσει φραγμό χρόνου. Δεν συνιστάται για χρήση σε διαδικτυακά περιβάλλοντα.
Εντολή bgsave: Η διεργασία Redis εκτελεί τη λειτουργία fork (συνάρτηση που χρησιμοποιείται για τη δημιουργία μιας διεργασίας) για τη δημιουργία μιας θυγατρικής διαδικασίας Η διαδικασία επιμονής RDB είναι υπεύθυνη για τη θυγατρική διαδικασία και τελειώνει αυτόματα μετά την ολοκλήρωση. Το μπλοκάρισμα συμβαίνει μόνο κατά τη φάση της περόνης.
Πλεονεκτήματα του RDB:
Το RDB είναι ένα συμπαγές, συμπιεσμένο δυαδικό αρχείο που αντιπροσωπεύει ένα στιγμιότυπο δεδομένων Redis σε μια συγκεκριμένη χρονική στιγμή. Είναι πολύ κατάλληλο για backup, full copy και άλλα σενάρια. Για παράδειγμα, πραγματοποιήστε δημιουργία αντιγράφων ασφαλείας bgsave κάθε 6 ώρες και αντιγράψτε το αρχείο RDB στο απομακρυσμένο μηχάνημα ή στο σύστημα αρχείων για ανάκτηση από καταστροφή.
Το Redis φορτώνει το RDB και ανακτά δεδομένα πολύ πιο γρήγορα από τη μέθοδο AOF.
Μειονεκτήματα του RDB:
Τα δεδομένα σε λειτουργία RDB δεν μπορούν να επιτύχουν εμμονή σε πραγματικό χρόνο/επιμονή δεύτερου επιπέδου. Επειδή κάθε φορά που εκτελείται το bgsave, εκτελείται μια λειτουργία διακλάδωσης για τη δημιουργία μιας θυγατρικής διαδικασίας, η οποία είναι μια βαριά λειτουργία και το κόστος της συχνής εκτέλεσης είναι πολύ υψηλό.
Τα αρχεία RDB αποθηκεύονται σε μια συγκεκριμένη δυαδική μορφή Κατά τη διάρκεια της εξέλιξης των εκδόσεων RDB, υπάρχουν πολλές μορφές εκδόσεων RDB.
Εμμονή AOF (προσάρτηση μόνο αρχείου): καταγράψτε κάθε εντολή εγγραφής σε ένα ανεξάρτητο αρχείο καταγραφής και, στη συνέχεια, εκτελέστε ξανά την εντολή στο αρχείο AOF για επαναφορά δεδομένων κατά την επανεκκίνηση. Η κύρια λειτουργία του AOF είναι να λύσει το πρόβλημα της επιμονής δεδομένων σε πραγματικό χρόνο.
Κριτήρια επιλογής μεταξύ των δύο:
Θυσιάστε κάποια απόδοση σε αντάλλαγμα για υψηλότερη συνέπεια της κρυφής μνήμης (ΑΟΦ),
Όταν οι λειτουργίες εγγραφής είναι συχνές, μην ενεργοποιείτε τη δημιουργία αντιγράφων ασφαλείας με αντάλλαγμα υψηλότερη απόδοση και περιμένετε για χειροκίνητη λειτουργία. αποθηκεύσετε όταν, κάντε ξανά αντίγραφο ασφαλείας (RDB)
Παρατήρηση:
Εάν πρέπει να φορτωθεί ένα μόνιμο αρχείο μετά την επανεκκίνηση της επανεκκίνησης, θα επιλεγούν τα αρχεία AOF.
Εάν πρώτα ενεργοποιηθεί το RDB και μετά ενεργοποιηθεί το AOF και το RDB παραμείνει πρώτα, τα περιεχόμενα στο αρχείο RDB θα αντικατασταθούν από τον AOF.
[root@localhost ~]# vim /etc/redis/6379.conf
Ανοίξτε το 6379.conf Μετά το αρχείο, κάντε αναζήτηση αποθηκεύσετε, μπορείτε να δείτε τις πληροφορίες διαμόρφωσης όπως φαίνεται παρακάτω.
υπάρχει Redis Υπάρχουν τρεις μέθοδοι συγχρονισμού στο αρχείο διαμόρφωσης, είναι:
πάντα: σύγχρονη επιμονή, κάθε φορά που αλλάζουν δεδομένα, θα γράφονται αμέσως στο δίσκο
everysec: Συνιστάται από προεπιλογή, εγγραφή ασύγχρονης κάθε δευτερόλεπτο (προεπιλεγμένη τιμή)
όχι: Δεν υπάρχει συγχρονισμός, αφήνοντας το λειτουργικό σύστημα να αποφασίσει πώς θα γίνει ο συγχρονισμός
Αγνοήστε την τελευταία δυνητικά προβληματική οδηγία
[root@localhost ~]#/etc/init.d/redis_6379 επανεκκίνηση
προκειμένου να λυθεί ΑΟΦ Εάν το μέγεθος του αρχείου συνεχίσει να αυξάνεται, οι χρήστες μπορούν να αναφέρουν Redis στείλετε BGREGREAOFΣειρά.BGREGREAOF Η εντολή θα αφαιρεθεί μέσω ΑΟΦ περιττές εντολές στο αρχείο για παράκαμψη (ξαναγράφω)ΑΟΦαρχείο, φτιάχνω ΑΟΦ Διατηρήστε το μέγεθος του αρχείου όσο το δυνατόν μικρότερο.
127.0.0.1:6379> bgrewriteaof
Ξεκίνησε η επανεγγραφή του αρχείου μόνο για την προσθήκη στο παρασκήνιο
# Όταν το αρχείο καταγραφής είναι BGREWRITEAOF,ανno-appendfsync-on-reriteΟρίστε σε ναι, πράγμα που σημαίνει ότι οι νέες λειτουργίες εγγραφής δεν θα συγχρονίζονται με το fsync, αλλά θα αποθηκευτούν μόνο προσωρινά στο buffer. , για να αποφύγετε διενέξεις λειτουργίας IO του δίσκου, περιμένετε μέχρι να ολοκληρωθεί η επανεγγραφή πριν γράψετε. Η προεπιλογή στο Redis είναι όχι
no-appendfsync-on-rerite no
# Όταν το τρέχον μέγεθος αρχείου AOF είναι διπλάσιο από το μέγεθος του αρχείου AOF κατά την τελευταία επανεγγραφή του αρχείου καταγραφής, εμφανίζεται η λειτουργία BGREWRITEAOF.
auto-aof-rewrite-ποσοστό 100
Παρατήρηση:
100 αναφέρεται σεΟ λόγος ανάπτυξης αρχείου AOF αναφέρεται στον λόγο ανάπτυξης του τρέχοντος αρχείου AOF σε σύγκριση με την τελευταία επανεγγραφή.,Το 100 είναι διπλάσιο
#Η ελάχιστη τιμή του τρέχοντος αρχείου AOF για την εκτέλεση της εντολής BGREWRITEAOF για την αποφυγή συχνών BGREWRITEAOF λόγω του μικρού μεγέθους του αρχείου κατά την πρώτη εκκίνηση του Reid.
auto-aof-rewrite-min-size 64mb
192.168.9.236:7001> μνήμη πληροφοριών
used_memory:1210776 #Το μέγεθος της χρησιμοποιούμενης μνήμης,σε byte
used_memory_human:1.15M # Οθόνη με μονάδα,στο Μ
used_memory_rss:7802880 # Πόση μνήμη καταλαμβάνει το redis από την πλευρά του λειτουργικού συστήματος;
used_memory_rss_human:7.44M # Οθόνη με μονάδα
maxmemory:1073741824 # Μέγιστο μέγεθος μνήμης
maxmemory_human:1.00G # Οθόνη με μονάδα
maxmemory-policy: Στρατηγική ανακύκλωσης
Ø πτητικό-lru: επιτρέπει Redis Επιλέξτε το λιγότερο πρόσφατα χρησιμοποιημένο από ολόκληρο το σύνολο δεδομένων κλειδί Διαγράφω
Ø πτητικό-ttl:Αφαιρέστε ανάλογα με το χρόνο λήξης του κλειδιού
Ø πτητικό-τυχαίο: Τυχαία επιλογή δεδομένων για εξάλειψη από τη συλλογή δεδομένων με καθορισμένο χρόνο λήξης.
Ø allkeys-lru:χρήση LRU Οι αλγόριθμοι εξαλείφουν δεδομένα από όλα τα σύνολα δεδομένων.
Ø όλα τα πλήκτρα-τυχαία: Τυχαία επιλογή δεδομένων για εξάλειψη από τη συλλογή δεδομένων.
Ø μηδενισμός: Απενεργοποίηση διαγραφής δεδομένων (προεπιλεγμένη τιμή)
Παρατήρηση:
Ρυθμίστε το χρόνο λήξης του κλειδιού
λήγει v1 10
Το v1 έχει χρόνο λήξης 10 δευτερολέπτων
Παρατήρηση:
πότε Redis Ανάγκη ανάκτησης ενός λόγω πίεσης στη μνήμη κλειδί ώρα,Redis Η πρώτη σκέψη δεν είναι να ανακυκλωθούν τα παλαιότερα δεδομένα, αλλά τα λιγότερο πρόσφατα χρησιμοποιημένα δεδομένα. κλειδί ή πρόκειται να λήξει κλειδί Επιλέξτε ένα τυχαία από κλειδί, αφαιρέθηκε από το σύνολο δεδομένων
Βρείτε τη λέξη-κλειδί requestpass, ακολουθούμενη από τον κωδικό πρόσβασης, σχολιάζεται από προεπιλογή, δηλαδή, δεν απαιτείται κωδικός πρόσβασης από προεπιλογή, ως εξής:
Ανοίξτε το σχόλιο, ορίστε το ως δικό σας κωδικό πρόσβασης και κάντε επανεκκίνηση
Χρησιμοποιήστε το redis-cli για να συνδεθείτε με το redis και εκτελέστε την ακόλουθη εντολή
το σύνολο ρυθμίσεων απαιτεί το 123456
Μετά την ολοκλήρωση της εκτέλεσης, δεν υπάρχει ανάγκη επανεκκίνησης Θα χρειαστεί να εισαγάγετε τον κωδικό πρόσβασής σας όταν βγείτε από τον πελάτη και συνδεθείτε ξανά.
[root@localhost bin]# ./redis-cli -a 123456
[root@localhost bin]# ./redis-cli127.0.0.1:6379> auth 123456
[root@localhost bin]# ./redis-cli -a 123456 shutdown
1) Ο κωδικός πρόσβασης που ορίστηκε με την τροποποίηση του αρχείου διαμόρφωσης θα τεθεί σε ισχύ μόνιμα ο κωδικός που ορίστηκε με τη χρήση της εντολής θα τεθεί σε ισχύ προσωρινά και θα καταστεί άκυρος μετά την επανεκκίνηση.
2) Η τροποποίηση του κωδικού πρόσβασης που έχει οριστεί στο αρχείο διαμόρφωσης απαιτεί επανεκκίνηση για να τεθεί σε ισχύ η χρήση του κωδικού πρόσβασης που έχει οριστεί από την εντολή για να τεθεί σε ισχύ μετά την αποσύνδεση και τη σύνδεση ξανά, και θα καταστεί άκυρη μετά την επανεκκίνηση.
3) Η προτεραιότητα της εντολής είναι υψηλότερη από την προτεραιότητα του αρχείου διαμόρφωσης