Lassen Sie uns zunächst die Pub/Sub-Funktion von Redis vorstellen:
Die Pub/Sub-Funktion, die für Publish and Subscribe steht, bezieht sich auf die Funktionalität des Veröffentlichens und Abonnierens. In ereignisbasierten Systemen ist Pub/Sub derzeit ein weit verbreitetes Kommunikationsmodell. Es verwendet Ereignisse als grundlegenden Kommunikationsmechanismus, um ein lose gekoppeltes Interaktionsmodell bereitzustellen, das für große Systeme erforderlich ist: Abonnenten (z. B. Clients) abonnieren Ereignisse Die Methode drückt ein Ereignis oder einen Ereignistyp aus, an dessen Empfang der Herausgeber (z. B. der Server) relevante Abonnenten jederzeit über Ereignisse benachrichtigen kann, an denen der Abonnent interessiert ist.
Laienhaft ausgedrückt bedeutet das, dass meine Unterseite (Abonnent) immer zuhört, wenn die Pub-Seite (Herausgeber) eine Nachricht veröffentlicht, dann erhalte ich sie zum Beispiel zuerst :
#coding:utf-8 import time import redis number_list = ['300033', '300032', '300031', '300030'] signal = ['1', '-1', '1', '-1'] rc = redis.StrictRedis(host='***', port='6379', db=3, password='********') for i in range(len(number_list)): value_new = str(number_list[i]) + ' ' + str(signal[i]) rc.publish("liao", value_new) #发布消息到liao
Dann werfen wir einen Blick auf die Abonnenten:
#coding:utf-8 import time import redis rc = redis.StrictRedis(host='****', port='6379', db=3, password='******') ps = rc.pubsub() ps.subscribe('liao') #从liao订阅消息 for item in ps.listen(): #监听状态:有消息发布了就拿过来 if item['type'] == 'message': print item['channel'] print item['data']
Bezüglich der Datenstruktur, also des Elements, ist es ähnlich wie: {'pattern': None, 'type': ' message', 'channel': 'liao', 'data': '300033 1'}, sodass Sie den Kanal verwenden können, um zu bestimmen, zu welcher Warteschlange die Nachricht gehört. (Wenn Sie das Programm ausführen, führen Sie zuerst den Abonnenten und dann das Herausgeberprogramm aus.)
Zusammenfassend gibt es zwei Hauptpunkte:
Das obige ist der detaillierte Inhalt vonSo implementieren Sie Redis-Abonnements und -Veröffentlichungen mithilfe des Sub-Pub-Mechanismus in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!