Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in die Veröffentlichungs- und Abonnementmethode mit Redis im .net Core

Einführung in die Veröffentlichungs- und Abonnementmethode mit Redis im .net Core

巴扎黑
巴扎黑Original
2017-09-20 09:32:562780Durchsuche

In diesem Artikel wird hauptsächlich vorgestellt, wie .net Core Redis zum Veröffentlichen und Abonnieren verwendet. Der Herausgeber ist der Meinung, dass er jetzt mit Ihnen geteilt wird und als Referenz dient. Folgen wir dem Editor, um einen Blick darauf zu werfen

Redis ist eine sehr leistungsstarke In-Memory-Datenbank. Sie wird im Allgemeinen als Cache verwendet, kann aber nicht nur als Cache verwendet werden, wie zum Beispiel das berühmte verteilte Framework Dubbo . Redis kann als Service-Registrierungscenter verwendet werden. Als Nächstes stellen wir die Publish/Subscribe-Funktion von .net Core mithilfe von Redis vor.

Redis veröffentlichen und abonnieren

Redis veröffentlichen und abonnieren (pub/sub) ist ein Nachrichtenkommunikationsmodell: Der Absender (pub) sendet die Nachricht und der Abonnent (sub ) erhält seine Informationen.
Redis-Kunden können eine beliebige Anzahl von Kanälen abonnieren.

Die folgende Abbildung zeigt die Beziehung zwischen Kanal Kanal1 und den drei Clients, die diesen Kanal abonnieren – Client2, Client5 und Client1:

Wann Wann ein neuer Wird die Nachricht über den PUBLISH-Befehl an Kanal Kanal1 gesendet, wird diese Nachricht an die drei Clients gesendet, die sie abonnieren:

Verwenden Sie den Redis-Befehl

Abonnieren Sie zunächst zwei Clients über den Befehl „subscribe redismessage“ für den Redismessage-Kanal:

Öffnen Sie dann einen Redis-Client und verwenden Sie den Befehl „Redismessage veröffentlichen“ „Nachrichteninhalt“. „Nachricht veröffentlichen

.net Core zum Implementieren verwenden

Der Verbindungstreiber, den ich hier ausgewählt habe, ist StackExchange.Redis, der erforderlich ist Beachten Sie hier, dass der ServiceStack.Redis-Verbindungstreiber nach und nach kommerzialisiert wurde und die Versionen 4.0 und höher Einschränkungen aufweisen. Wählen Sie daher den kostenlosen und benutzerfreundlichen StackExchange.Redis und installieren Sie ihn mit Nuget.

Erstellen Sie einen Abonnement-Client


//创建连接
using (ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("127.0.0.1:6379"))
{
  ISubscriber sub = redis.GetSubscriber();

  //订阅名为 messages 的通道

  sub.Subscribe("messages", (channel, message) => {

    //输出收到的消息
    Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] {message}");
  });
  Console.WriteLine("已订阅 messages");
  Console.ReadKey();
}

Erstellen Sie einen Veröffentlichungs-Client


//创建连接
using (ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("127.0.0.1:6379"))
{
  ISubscriber sub = redis.GetSubscriber();

  Console.WriteLine("请输入任意字符,输入exit退出");

  string input;

  do
  {
    input = Console.ReadLine();
    sub.Publish("messages", input);
  } while (input != "exit");
}

Ein Veröffentlichungs-Client und zwei Abonnement-Clients werden unten ausgeführt:

Das obige ist der detaillierte Inhalt vonEinführung in die Veröffentlichungs- und Abonnementmethode mit Redis im .net Core. 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