Heim  >  Artikel  >  Backend-Entwicklung  >  Redis erhält die Schlüsselskriptinstanz eines bestimmten Präfixes

Redis erhält die Schlüsselskriptinstanz eines bestimmten Präfixes

不言
不言Original
2018-05-18 15:28:264152Durchsuche

Dieser Artikel führt Sie hauptsächlich in die relevanten Informationen über das Schlüsselskript für Redis ein, um ein bestimmtes Präfix zu erhalten. Der Artikel stellt es im Detail anhand des Beispielcodes vor. Es hat einen gewissen Referenz-Lernwert für alle, die Redis lernen oder verwenden möchten Wer braucht es? Lassen Sie uns mit dem Herausgeber unten lernen.

1. Hintergrund

Bei der täglichen Wartung müssen wir häufig die Anzahl der Schlüssel mit einem bestimmten Präfix zählen. In Redis mit vielen Anfragen führen Schlüssel * direkt zu einer Blockierung.
Sie können Scan für inkrementelle Iteration verwenden und Abfragen mithilfe der Pipeline durchführen, um Interaktionen zu reduzieren und die Effizienz zu verbessern.

2. Vor- und Nachteile des Scan-Befehls

SCAN-Befehle umfassen SCAN, SSCAN, HSCAN und ZSCAN.

SCAN dient zum Durchlaufen aller Tasten

Für andere SCAN-Befehle ist es der von SCAN ausgewählte Satz.

Der SCAN-Befehl ist eine inkrementelle Schleife und jeder Aufruf gibt nur einen kleinen Teil der Elemente zurück. Mit dem KEYS-Befehl gibt es also keine Fallstricke.

Der SCAN-Befehl gibt einen Cursor zurück, der die Bewegung bei 0 beginnt und bei 0 endet.

scan 0
1) "655"
2) 1) "test1"
  2) "test2"

Der Rückgabewert ist ein Array, einer ist die Cursor-ID des nächsten Zyklus und der andere ist das Elementarray. Der SCAN-Befehl garantiert nicht, dass die zurückgegebenen Werte jedes Mal in Ordnung sind. Darüber hinaus kann derselbe Schlüssel ohne Unterschied mehrmals zurückgegeben werden, was eine Anwendungsverarbeitung erfordert.

Darüber hinaus kann der SCAN-Befehl COUNT angeben, der standardmäßig 10 beträgt. Dies bedeutet jedoch nicht, wie viele Artikel zurückgegeben werden. Dies ist nur eine Erinnerung und es gibt keine Garantie dafür, dass so viele Artikel zurückgegeben werden.

Vorteile:

  • Bereitstellung wichtiger Raumdurchquerungsoperationen, Unterstützung des Cursors, Komplexität O(1), für die gesamte Durchquerung ist nur eine erforderlich pass Erfordert O(N);

  • bietet Ergebnismusterabgleich;

  • unterstützt das Festlegen der Anzahl der gleichzeitig zurückgegebenen Datenelemente, aber es ist nur ein Hinweis, es werden noch mehr zurückgegeben; >

    Nachteile:
kann keine vollständige Snapshot-Durchquerung ermöglichen, das heißt, wenn in der Mitte eine Datenänderung erfolgt, können einige Daten an der Änderung beteiligt sein nicht durchlaufen werden;


Die Anzahl der jedes Mal zurückgegebenen Daten ist nicht unbedingt sicher und hängt stark von der internen Implementierung ab Zurückgegebene Daten können wiederholt werden und die Anwendungsschicht muss in der Lage sein, die Wiedereintrittslogik zu verarbeiten

  • 3 🎜>
  • Es gibt eine gekapselte Funktion scan_iter in Python--alle Elemente anzeigen- -Iterator

  • Skriptinhalt:

Verwandte Empfehlungen: PHP-Nutzung Cache-Instanz von Redis

Das obige ist der detaillierte Inhalt vonRedis erhält die Schlüsselskriptinstanz eines bestimmten Präfixes. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn