τα στοιχεία επικοινωνίας μου
Ταχυδρομείο[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Μια σχεσιακή βάση δεδομένων είναι μια δομημένη βάση δεδομένων, που δημιουργείται σε μια βάση δεδομένων σχεσιακού μοντέλου και δημιουργείται προσανατολισμένη στην εγγραφή.
Κοινές σχεσιακές βάσεις δεδομένων: Oracle, MySQL, SQL Server, Microsoft Access, DB2.
NOSQL=Όχι μόνο SQL είναι ο γενικός όρος για μη σχεσιακές βάσεις δεδομένων. Ανάλογα με τη μέθοδο αποθήκευσης, τη δομή αποθήκευσης και τα σενάρια χρήσης, ονομάζεται μη σχεσιακή βάση δεδομένων. Οι βάσεις δεδομένων εκτός από τις κύριες σχεσιακές βάσεις δεδομένων μπορούν να ονομαστούν μη σχεσιακές βάσεις δεδομένων.
Κοινές μη σχεσιακές βάσεις δεδομένων: Redis, MongoDB, Hbase, CouhDB.
Το Redis είναι μια βάση δεδομένων ανοιχτού κώδικα Nosql γραμμένη σε γλώσσα C. Εκτελείται με βάση τη μνήμη και υποστηρίζει τη φόρμα αποθήκευσης κλειδιού-τιμής. Ο αριθμός θύρας του είναι 6379.
1. Εγκαταστήστε το Redis
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum -y εγκατάσταση gcc* zlib-devel
[root@localhost ~]#tar xvzf redis-4.0.9.tar.gz
[root@localhost ~]#cd redis-4.0.9/
[root@localhost redis-4.0.9]# make
Ειδοποίηση:
Θα δημιουργηθεί ένα μήνυμα σφάλματος μετά τη δημιουργία,
λύση:
Λύση 1: Χρησιμοποιήστε make MALLOC=libc για να καθορίσετε τον εκχωρητή μνήμης που θα μεταγλωττιστεί για το libc
Λύση 2: Καθαρίστε & & Καθαρίστε Distclean
[root@localhost redis-4.0.9]# make PREFIX=/usr/local/redis install
[root@localhost utils]# ln -s /usr/local/redis/bin/* /usr/local/bin/
[root@localhost redis-4.0.9]# cd utils/
Μεταξύ αυτών: install_server.sh είναι το σενάριο προετοιμασίας
[root@localhost utils]# ./install_server.sh
Επιλέξτε την εκτελέσιμη διαδρομή redis [] /usr/local/redis/bin/redis-server(δώστε εκτελέσιμη διαδρομή)
Προβολή ελέγχου διεργασιών και υπηρεσιών
[root@localhost utils]# netstat -anpt | grep redis
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 5360/redis-server 1
[root@localhost utils]# /etc/init.d/redis_6379 stop(το redis είναι κλειστό)
[root@localhost utils]# /etc/init.d/redis_6379 start(επί)
[root@localhost utils]# /etc/init.d/redis_6379 status (κατάσταση)
Τροποποίηση των παραμέτρων διαμόρφωσης
[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 επανεκκίνηση
2.redis εργαλείο εντολών
[root@localhost utils]# redis-cli(Τοπική είσοδος)
[root@localhost utils]# redis-cli -h 192.168.10.101 -p 6379(απομακρυσμένη σύνδεση)
192.168.10.101:6379> ping(Η υπηρεσία εντοπισμού λειτουργεί κανονικά)
PONG
3: εργαλείο δοκιμών redis-benchmark
Το redis-benchmark είναι το επίσημο εργαλείο δοκιμών απόδοσης Redis που μπορεί να ελέγξει αποτελεσματικά την απόδοση των υπηρεσιών Redis.
(1) Δοκιμή απόδοσης αιτήματος
[root@localhost ~]#redis-benchmark -h 192.168.10.101 -p 6379 -c 100 -n 100000
Παρατήρηση:
-h: Καθορίστε το όνομα κεντρικού υπολογιστή διακομιστή.
-p: Καθορίστε τη θύρα διακομιστή.
-γ: Καθορίστε τον αριθμό των ταυτόχρονων συνδέσεων.
-n: Καθορίστε τον αριθμό των αιτημάτων.
(2) Δοκιμή απόδοσης πρόσβασης
[root@localhost ~]#redis-benchmark -h 192.168.10.101 -p 6379 -q -d 100
Παρατήρηση:
-h: Καθορίστε το όνομα κεντρικού υπολογιστή διακομιστή.
-p: Καθορίστε τη θύρα διακομιστή.
-d: Καθορίστε το μέγεθος δεδομένων της τιμής SET/GET σε byte.
-q: Αναγκαστική έξοδος από το redis. Εμφανίζονται μόνο τιμές ερωτήματος/δευτ.
το σύνολο αποθηκεύει τα δεδομένα μορφότυπος εντολής τιμή καθορισμού κλειδιού
λήψη Λήψη δεδομένων μορφή εντολής λήψη κλειδιού
1. Προσθέστε ζεύγη κλειδιών-τιμών
127.0.0.1:6379> σύνολο 1 1
Εντάξει
127.0.0.1:6379> σύνολο 2 2
Εντάξει
127.0.0.1:6379> σύνολο 3 3
Εντάξει
2. Προβολή όλων των τιμών στη βάση δεδομένων
127.0.0.1:6379> πλήκτρα *
1) "3"
2) "1"
3) "2"
3. Προβάλετε δεδομένα που ξεκινούν με v στη βάση δεδομένων
127.0.0.1:6379>KEYS v*
4. Προβάλετε τυχόν δεδομένα που ξεκινούν με v στη βάση δεδομένων
127.0.0.1:6379>KEYS v?
5.Προβολή της τρέχουσας βάσης δεδομένων με v αρχήΤο παρακάτω περιέχει οποιαδήποτε δύο ψηφία δεδομένων
127.0.0.1:6379>KEYS v??
Προσδιορίστε εάν η τιμή υπάρχει.
127.0.0.1:6379>υπάρχει f5Προσδιορίστε αν υπάρχει f5
(ακέραιος αριθμός) 1 Το αποτέλεσμα είναι 1, υποδεικνύοντας ότι υπάρχει το πλήκτρο f5
αρέσει
(ακέραιος) 0 Το αποτέλεσμα είναι 0, υποδεικνύοντας ότι το πλήκτρο f5 δεν υπάρχει
del Η εντολή μπορεί να διαγράψει το καθορισμένο κλειδί
127.0.0.1:6379> del v5 Διαγραφή v5 στη βάση δεδομένων
(ακέραιος) 1
127.0.0.1:6379>λήψη v5
(μηδέν)
χρήση τύπος Η εντολή μπορεί να ληφθεί κλειδί αντίστοιχος αξία τύπος τιμής
127.0.0.1:6379>τύπου k1
σειρά
Παρατήρηση:
Τύποι δεδομένων που υποστηρίζονται από το redis
μετονομάζω Η εντολή είναι για ένα υπάρχον κλειδί μετονομάζω
Σε πραγματική χρήση, συνιστάται η χρήση υπάρχει Εντολή για προβολή στόχου κλειδί υπάρχει και, στη συνέχεια, αποφασίστε εάν θα το εκτελέσετε μετονομάζω εντολή για αποφυγή αντικατάστασης σημαντικών δεδομένων.
127.0.0.1:6379>μετονομασία v22 v2 Μετονομάστε το v22 σε v2
Εντάξει
μετονομασία Η λειτουργία της εντολής είναι να τροποποιήσει την υπάρχουσα κλειδί Πραγματοποιήστε μια μετονομασία και ελέγξτε αν υπάρχει το νέο όνομα.
χρήσημετονομασία Όταν η εντολή μετονομαστεί, εάν ο στόχος κλειδί Εάν υπάρχει, δεν θα μετονομαστεί.
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
127.0.0.1:6379>σετ k1 100 Δημιουργία k1 στη βάση δεδομένων 0
Εντάξει
127.0.0.1:6379>πάρε k1
"100"
127.0.0.1:6379>κίνηση k1 1 //Μετακίνηση k1 στη βάση δεδομένων 0 στη βάση δεδομένων 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 //Η τιμή του k1 δεν μπορεί να προβληθεί στη βάση δεδομένων 0
(μηδέν)
Για να διαγράψετε τα τρέχοντα δεδομένα βάσης δεδομένων, χρησιμοποιήστε το FLUSHDB
Εφαρμογή εντολών, εκκαθάριση όλων των δεδομένων βάσης δεδομένων, χρήση FLUSHALL Εφαρμογή εντολών.
Redis Όλα τα δεδομένα αποθηκεύονται στη μνήμη και στη συνέχεια αποθηκεύονται ασύγχρονα στο δίσκο από καιρό σε καιρό.(Αυτό ονομάζεται“Ημι-επίμονη λειτουργία”)Μπορείτε επίσης να γράψετε κάθε αλλαγή δεδομένων σε a προσάρτηση μόνο αρχείου(aof)σε(Αυτό ονομάζεται“Λειτουργία πλήρους επιμονής”)。
επειδή Redis Όλα τα δεδομένα αποθηκεύονται στη μνήμη εάν δεν έχει ρυθμιστεί η εμμονή,Redis Μετά την επανεκκίνηση, όλα τα δεδομένα χάνονται.Επομένως, είναι απαραίτητο να ενεργοποιηθείRedis Η συνάρτηση επιμονής αποθηκεύει δεδομένα στο δίσκο Πότε Redis Μετά από μια επανεκκίνηση, τα δεδομένα μπορούν να ανακτηθούν από το δίσκο.Redis Δύο μέθοδοι παρέχονται για επιμονή, η μία είναι RDB(Βάση Δεδομένων Redis) Επιμονή (η αρχή είναι να ReidsΧρονική απόρριψη εγγραφών βάσης δεδομένων στη μνήμη (εγκαταλείπω)στον δίσκο RDB επιμονή), το άλλο είναι ΑΟΦ(προσάρτηση μόνο αρχείο)Επιμονή (η αρχή είναι να Reids Το αρχείο καταγραφής λειτουργίας εγγράφεται στο αρχείο με συνημμένο τρόπο).
Η διαφορά μεταξύ RDB και AOF
Το ROB εγγράφει το στιγμιότυπο δεδομένων στο δίσκο εντός του καθορισμένου χρονικού διαστήματος. Είναι μια υποδιεργασία του fork.
Το AOF καταγράφει κάθε λειτουργία εγγραφής και διαγραφής του διακομιστή σε μορφή αρχείου καταγραφής. Οι λειτουργίες ερωτήματος δεν θα καταγράφονται, αλλά θα καταγράφονται σε μορφή κειμένου.
Πλεονεκτήματα και μειονεκτήματα RDB και AOF
Πλεονεκτήματα RDB:
Το RDB είναι ένα συμπαγές, συμπιεσμένο δυαδικό αρχείο που αντιπροσωπεύει ένα στιγμιότυπο δεδομένων Redis σε μια συγκεκριμένη χρονική στιγμή. Είναι πολύ κατάλληλο για backup, full copy και άλλα σενάρια. Για παράδειγμα, πραγματοποιήστε δημιουργία αντιγράφων ασφαλείας bgsave κάθε 6 ώρες και αντιγράψτε το αρχείο RDB στο απομακρυσμένο μηχάνημα ή στο σύστημα αρχείων για ανάκτηση από καταστροφή.
Η ανάκτηση δεδομένων είναι γρήγορη.
Μεγιστοποιήστε την απόδοση
Υψηλή απόδοση εκκίνησης
RDBέλλειψη:
Τα δεδομένα που δεν είχαν αποθηκευτεί πριν από τον τερματισμό λειτουργίας θα χαθούν.
Το RDB ολοκληρώνεται μέσω της διαδικασίας fork child, καταναλώνοντας πόρους.
Πλεονεκτήματα AOF:
Η ανθεκτικότητα των δεδομένων είναι υψηλή
Στη λειτουργία προσάρτησης, τα περιεχόμενα του αρχείου καταγραφής δεν θα καταστραφούν ακόμη και αν υπάρχει χρόνος διακοπής λειτουργίας.
Ο μηχανισμός επανεγγραφής μπορεί να ξεκινήσει για την προστασία της ασφάλειας των δεδομένων.
Μειονεκτήματα AOF:
Η ταχύτητα ανάκτησης δεδομένων AOF είναι αργή
Η απόδοση λειτουργίας του AOF είναι χαμηλή
Κριτήρια επιλογής μεταξύ των δύο:
Θυσιάστε κάποια απόδοση σε αντάλλαγμα για υψηλότερη συνέπεια της κρυφής μνήμης (ΑΟΦ),
Όταν οι λειτουργίες εγγραφής είναι συχνές, μην ενεργοποιείτε τη δημιουργία αντιγράφων ασφαλείας με αντάλλαγμα υψηλότερη απόδοση και περιμένετε για χειροκίνητη λειτουργία. αποθηκεύσετε όταν, κάντε ξανά αντίγραφο ασφαλείας (RDB)
Παρατήρηση:
Εάν το redies χρειάζεται να φορτώσει ένα αρχείο persistence μετά την επανεκκίνηση,προτεραιότηταΘα επιλεγούν αρχεία AOF.
Εάν πρώτα ενεργοποιηθεί το RDB και μετά ενεργοποιηθεί το AOF και το RDB παραμείνει πρώτα, τα περιεχόμενα στο αρχείο RDB θα αντικατασταθούν από τον AOF.
[root@localhost ~]# vim /etc/redis/6379.conf
Ανοιξε 6379.conf Μετά το αρχείο, κάντε αναζήτηση αποθηκεύσετε, μπορείτε να δείτε τις πληροφορίες διαμόρφωσης όπως φαίνεται παρακάτω.
υπάρχει Redis Υπάρχουν τρεις μέθοδοι συγχρονισμού στο αρχείο διαμόρφωσης, είναι:
πάντα: σύγχρονη επιμονή, κάθε φορά που αλλάζουν δεδομένα, θα γράφονται αμέσως στον δίσκο ##702 γραμμή
everysec: Συνιστάται από προεπιλογή, εγγραφή ασύγχρονης κάθε δευτερόλεπτο (προεπιλεγμένη τιμή)
όχι: Δεν υπάρχει συγχρονισμός, αφήνοντας το λειτουργικό σύστημα να αποφασίσει πώς θα γίνει ο συγχρονισμός
Αγνοήστε την τελευταία δυνητικά προβληματική οδηγία
[root@localhost ~]#/etc/init.d/redis_6379 επανεκκίνηση
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 Οι αλγόριθμοι εξαλείφουν δεδομένα από όλα τα σύνολα δεδομένων.
όλα τα πλήκτρα-τυχαία: Τυχαία επιλογή δεδομένων για εξάλειψη από τη συλλογή δεδομένων.
μηδενισμός: Απενεργοποίηση διαγραφής δεδομένων (προεπιλεγμένη τιμή)
Ρυθμίστε το χρόνο λήξης του κλειδιού
127.0.0.1:6379>λήγει v1 10 Το v1 έχει χρόνο λήξης 10 δευτερολέπτων
Παρατήρηση:
πότε Redis Ανάγκη ανάκτησης ενός λόγω πίεσης στη μνήμη κλειδί ώρα,Redis Η πρώτη σκέψη δεν είναι να ανακυκλωθούν τα παλαιότερα δεδομένα, αλλά τα λιγότερο πρόσφατα χρησιμοποιημένα δεδομένα. κλειδί ή πρόκειται να λήξει κλειδί Επιλέξτε ένα τυχαία από κλειδί, αφαιρέθηκε από το σύνολο δεδομένων