Queue
ist eine spezielle lineare Tabelle. Das Besondere ist, dass sie nur Löschvorgänge am vorderen Ende der Tabelle zulässt. und die Einfügeoperation wird am hinteren Ende (hinten) der Tabelle ausgeführt. Wie der Stapel ist die Warteschlange eine lineare Tabelle mit begrenzten Operationen. Das Ende, das den Einfügevorgang ausführt, wird als Ende der Warteschlange bezeichnet, und das Ende, das den Löschvorgang ausführt, wird als Kopf der Warteschlange bezeichnet.
Nachrichtenwarteschlange
ist ein Container, der Nachrichten während ihrer Übertragung speichert. (Redis-Tutorial)
Nachrichtenwarteschlange in Redis
In Redis können Sie die integrierten Publish- und Subscribe-Befehle verwenden, um „message Die Funktionen „Push“ und „Message Pull“ implementieren die Nachrichtenwarteschlange. Ein Nachteil dieser Methode besteht jedoch darin, dass die Verbraucher gleichzeitig online sein müssen, da sonst der Konsum verpasst wird.
Nachrichtenwarteschlange verwendet im Allgemeinen einen unabhängigen Cluster für die Nachrichtenspeicherung, der im Speicher oder direkt auf der Festplatte gespeichert werden kann. Zum Beispiel die gängigen: RabbitMQ, Kafka, RocketMQ, ActiveMQ, Zeromq usw. Sie haben unterschiedliche Eigenschaften und übernehmen verschiedene Implementierungen, die für die Verteilung von Nachrichtenaufgaben in verschiedenen Szenarien geeignet sind. Ihre wesentliche Rolle ist jedoch dieselbe wie die der Java-„Warteschlange“ in der oben erwähnten Einzelinstanzumgebung: ein Container, der Nachrichten während der Nachrichtenübertragung speichert. Es wurde lediglich in eine „verteilte“ Umgebung umgewandelt.
List (im Wesentlichen eine bidirektionale verknüpfte Liste) und zset (geordnete Menge) in Redis können als Container für „Nachrichtenwarteschlangen“ verwendet werden. Mit ein wenig Verarbeitung kann eine hochverfügbare „Nachrichtenwarteschlange“ realisiert werden . Die mit Redis implementierte „leichte“ „Nachrichtenwarteschlange“ hat drei große Vorteile:
1 Jetzt ist Redis in großen Systemen weit verbreitet und es besteht keine Notwendigkeit, andere Frameworks von Drittanbietern einzuführen Wieder APIs.
2. Und Redis basiert auf Speicherspeicherung und die Zugriffsgeschwindigkeit von Produzenten und Verbrauchern ist sehr hoch.
3. Die Kapazität des Redis-Clusters kann durch Hinzufügen von Instanzen erweitert werden.
Wenn Sie die oben genannten drei Anforderungen erfüllen, können Sie eine einfache „Nachrichtenwarteschlange“ implementieren.
Das obige ist der detaillierte Inhalt vonSo verstehen Sie die Redis-Nachrichtenwarteschlange. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!