Redis MGET

Redis Mget



Επεξήγηση των χορδών Redis

Οι συμβολοσειρές είναι η πιο βασική και θεμελιώδης δομή δεδομένων που εισήχθη από τη βάση δεδομένων Redis. Οι συμβολοσειρές Redis είναι δυαδικές ασφαλείς ακολουθίες byte. Μοιάζουν πολύ με κανονικές συμβολοσειρές που διατίθενται σε γλώσσες προγραμματισμού όπως η Java και η c#.net. Το πιο σημαντικό, οι συμβολοσειρές Redis μπορούν να χρησιμοποιηθούν για την αποθήκευση σχεδόν οτιδήποτε σας αρέσει, όπως συμβολοσειρές, ακέραιους αριθμούς, σειριακά JSON, XML και δυαδικές τιμές. Δεδομένου ότι ο τύπος δεδομένων συμβολοσειράς Redis είναι δυαδικός ασφαλής, τα δυαδικά αντικείμενα όπως εικόνες, βίντεο και έγγραφα μπορούν εύκολα να αποθηκευτούν χρησιμοποιώντας συμβολοσειρές. Επιπλέον, μια συμβολοσειρά Redis μπορεί να κρατήσει τα δεδομένα έως και 512 MB.







Επιπλέον, η δομή δεδομένων συμβολοσειράς Redis χρησιμοποιείται συνήθως στις ακόλουθες περιπτώσεις χρήσης:



  • Προσωρινή αποθήκευση
    • Αποθήκευση συνεδρίας
    • Αποκρίσεις API
    • σελίδες HTML
  • Μετρητής
  • Εφαρμογή bitmap & bitwise λειτουργίες

Οι λειτουργίες συμβολοσειράς που χρησιμοποιούνται περισσότερο είναι SET, GET, MGET και SETNX. Οι εντολές INCRBY και INCRBYFLOAT χρησιμοποιούνται συνήθως για τη διαχείριση των μετρητών που υλοποιούνται χρησιμοποιώντας τη δομή δεδομένων συμβολοσειράς Redis. Σε αυτό το σεμινάριο, η εντολή MGET είναι λεπτομερής.



Αποκαλύφθηκε η εντολή MGET

Η εντολή MGET χρησιμοποιείται για την ανάκτηση των τιμών των δεδομένων κλειδιών Redis. Δέχεται ένα ή περισσότερα κλειδιά ως ορίσματα. Επιπλέον, η εντολή MGET λειτουργεί σε πολυπλοκότητα χρόνου O(N) όπου το N είναι ο αριθμός των κλειδιών που καθορίζονται. Η σύνταξη της εντολής MGET είναι η εξής:





Κλειδί MGET [ κλειδί ... ]

Κατά την εκτέλεση της εντολής MGET, επιστρέφει έναν πίνακα τιμών που αποθηκεύονται στα καθορισμένα κλειδιά Redis. Εάν το κλειδί δεν υπάρχει, επιστρέφει την ειδική τιμή μηδέν. Ομοίως, εάν το κλειδί δεν έχει τιμή συμβολοσειράς, α μηδέν επιστρέφεται η τιμή.

Περίπτωση χρήσης: Λήψη όλων των αποκρίσεων API που έχουν αποθηκευτεί στην προσωρινή μνήμη

Ας υποθέσουμε ένα σενάριο όπου ο τύπος δεδομένων συμβολοσειράς Redis χρησιμοποιείται για την υλοποίηση μιας κρυφής μνήμης που διατηρεί τις πρόσφατες αποκρίσεις API. Χρησιμοποιούμε την εντολή SET για να αποθηκεύσουμε ορισμένες ψευδείς απαντήσεις API για σκοπούς επίδειξης.



σειρά dummyhost / οι πελάτες 'Ρίκυ, Μπέρναρντ, Μαίρη, Σάμουελ, Τζο' σειρά dummyhost / προμηθευτές 'Jimmy, Jeremy, Andrew, Hera' σειρά dummyhost / τιμολόγια '{'invoice': [{'invoice_id': 1, 'invoice_payment': 1000}, {'invoice_id': 2, 'invoice_payment': 3400}]}'

Αποθηκεύουμε μερικές τιμές συμβολοσειράς και ένα σειριακό αντικείμενο JSON χρησιμοποιώντας τον τύπο δεδομένων συμβολοσειράς Redis.

Τώρα, ας χρησιμοποιήσουμε την εντολή MGET για να ανακτήσουμε όλες τις απαντήσεις σε κάθε κλήση API ταυτόχρονα.

mget dummyhost / πελάτες dummyhost / προμηθευτές dummyhost / τιμολόγια

Παραγωγή:

1 ) 'Ρίκυ, Μπέρναρντ, Μαίρη, Σάμουελ, Τζο'

δύο ) 'Jimmy, Jeremy, Andrew, Hera'

3 ) '{' τιμολόγια ': [{' invoice_id ': 1, ' πληρωμή τιμολογίου ':1000}, {' invoice_id ': δύο, ' πληρωμή τιμολογίου ':3400}]}'

Όπως αναμενόταν, οι τιμές σε κάθε κλειδί επιστρέφονται ως πίνακας.

Καθορισμός μη υπάρχοντος κλειδιού

Όπως αναφέρθηκε, η εντολή MGET επιστρέφει την ειδική τιμή μηδέν όταν παρέχεται ένα ανύπαρκτο κλειδί. Ας καθορίσουμε ένα ανύπαρκτο κλειδί που ονομάζεται 'nonexistingkey' στην εντολή MGET και ας εκτελέσουμε το προηγούμενο παράδειγμα ως εξής:

mget dummyhost / πελάτες dummyhost / προμηθευτές dummyhost / δεν υπάρχει κλειδί τιμολογίων

Όπως μπορείτε να δείτε, η τελευταία τιμή στον πίνακα είναι μηδέν που σχετίζεται με το ανύπαρκτο κλειδί Redis.

Συνολικά, η εντολή MGET είναι ιδανικός υποψήφιος όταν χρειάζεται να ανακτήσουμε τις τιμές συμβολοσειράς που είναι αποθηκευμένες σε πολλά πλήκτρα σε μία κλήση αντί να καλέσουμε την εντολή GET πολλές φορές.

συμπέρασμα

Συνοπτικά, η εντολή MGET λειτουργεί στη δομή δεδομένων συμβολοσειράς Redis για να επιστρέψει τις τιμές που είναι αποθηκευμένες σε πολλά πλήκτρα σε μία κλήση. Δέχεται ένα ή περισσότερα κλειδιά Redis ως ορίσματα. Όπως τονίστηκε, η εντολή MGET λειτουργεί σε πολυπλοκότητα χρόνου O(N). Η περίπτωση χρήσης σάς έδειξε πώς να χρησιμοποιήσετε την εντολή MGET για να λάβετε αποτελεσματικά πολλές αποκρίσεις API που είναι αποθηκευμένες σε πολλά κλειδιά.