Redis MGET

Redis Mget



Redis-Strings erklärt

Die Zeichenfolgen sind die einfachste und grundlegendste Datenstruktur, die von der Redis-Datenbank eingeführt wird. Die Redis-Strings sind binäre sichere Folgen von Bytes. Sie ähneln sehr den normalen Zeichenfolgen, die in Programmiersprachen wie Java und c#.net verfügbar sind. Am wichtigsten ist, dass die Redis-Strings verwendet werden können, um fast alles zu speichern, was Sie mögen, wie Strings, Ganzzahlen, serialisierte JSONs, XMLs und Binärwerte. Da der Redis-String-Datentyp binär sicher ist, können binäre Objekte wie Bilder, Videos und Dokumente einfach mit Strings gespeichert werden. Darüber hinaus kann eine einzelne Redis-Zeichenfolge die Daten bis zu 512 MB enthalten.







Darüber hinaus wird die Redis-String-Datenstruktur häufig in den folgenden Anwendungsfällen verwendet:



  • Caching
    • Sitzungsspeicherung
    • API-Antworten
    • HTML-Seiten
  • Zähler
  • Bitmap-Implementierung und bitweise Operationen

Die am häufigsten verwendeten Zeichenfolgenoperationen sind SET, GET, MGET und SETNX. Die Befehle INCRBY und INCRBYFLOAT werden häufig verwendet, um die Zähler zu verwalten, die mithilfe der Redis-String-Datenstruktur implementiert werden. In diesem Lernprogramm wird der MGET-Befehl detailliert beschrieben.



MGET-Befehl aufgedeckt

Der MGET-Befehl wird verwendet, um die Werte der angegebenen Redis-Schlüssel abzurufen. Es akzeptiert einen oder mehrere Schlüssel als Argumente. Darüber hinaus arbeitet der MGET-Befehl mit einer O(N)-Zeitkomplexität, wobei N die Anzahl der angegebenen Schlüssel ist. Die Syntax des MGET-Befehls lautet wie folgt:





MGET-Schlüssel [ Schlüssel ... ]

Bei der Ausführung des MGET-Befehls gibt er ein Array von Werten zurück, die in den angegebenen Redis-Schlüsseln gespeichert sind. Wenn der Schlüssel nicht existiert, gibt er den speziellen Wert zurück Null. Wenn der Schlüssel keinen Zeichenfolgenwert enthält, a Null Wert wird zurückgegeben.

Anwendungsfall: Alle zwischengespeicherten API-Antworten abrufen

Nehmen wir ein Szenario an, in dem der Redis-String-Datentyp verwendet wird, um einen Cache zu implementieren, der die letzten API-Antworten enthält. Wir verwenden den SET-Befehl, um einige Dummy-API-Antworten zu Demonstrationszwecken zu speichern.



einstellen Dummyhost / Kunden 'ricky, bernard, maria, samuel, joe' einstellen Dummyhost / Lieferanten 'jimmy, jeremy, andrew, hera' einstellen Dummyhost / Rechnungen '{'Rechnungen': [{'Rechnungs-ID': 1, 'Rechnungszahlung': 1000}, {'Rechnungs-ID': 2, 'Rechnungszahlung': 3400}]}'

Wir speichern ein paar String-Werte und ein serialisiertes JSON-Objekt mit dem Redis-String-Datentyp.

Lassen Sie uns nun den MGET-Befehl verwenden, um alle Antworten in jedem API-Aufruf auf einmal abzurufen.

mget Dummyhost / Kunden Dummyhost / Anbieter Dummyhost / Rechnungen

Ausgabe:

1 ) 'ricky, bernard, maria, samuel, joe'

zwei ) 'jimmy, jeremy, andrew, hera'

3 ) '{' Rechnungen ': [{' Rechnungs_ID ': 1, ' Rechnungszahlung ':1000}, {' Rechnungs_ID ': zwei, ' Rechnungszahlung ':3400}]}'

Wie erwartet werden die Werte in jedem Schlüssel als Array zurückgegeben.

Angabe eines nicht vorhandenen Schlüssels

Wie bereits erwähnt, gibt der MGET-Befehl den speziellen Wert zurück Null wenn ein nicht vorhandener Schlüssel bereitgestellt wird. Lassen Sie uns einen nicht existierenden Schlüssel namens „nonexistingkey“ für den MGET-Befehl angeben und das vorherige Beispiel wie folgt ausführen:

mget Dummyhost / Kunden Dummyhost / Anbieter Dummyhost / Rechnungen nicht vorhandener Schlüssel

Wie Sie sehen konnten, ist der letzte Wert im Array Null die dem nicht vorhandenen Redis-Schlüssel zugeordnet ist.

Insgesamt ist der MGET-Befehl ein idealer Kandidat, wenn wir die auf mehreren Schlüsseln gespeicherten Zeichenfolgenwerte in einem Aufruf abrufen müssen, anstatt den GET-Befehl mehrmals aufzurufen.

Fazit

Zusammenfassend lässt sich sagen, dass der MGET-Befehl auf der Redis-String-Datenstruktur arbeitet, um die bei mehreren Schlüsseln gespeicherten Werte in einem Aufruf zurückzugeben. Es akzeptiert einen oder mehrere Redis-Schlüssel als Argumente. Wie hervorgehoben, arbeitet der MGET-Befehl in O(N)-Zeitkomplexität. Der Anwendungsfall hat Ihnen gezeigt, wie Sie den MGET-Befehl verwenden, um mehrere API-Antworten, die auf mehreren Schlüsseln gespeichert sind, effizient abzurufen.