Rumah > pangkalan data > Redis > Bagaimana untuk melaksanakan langganan dan penerbitan Redis menggunakan mekanisme sub-pub dalam python

Bagaimana untuk melaksanakan langganan dan penerbitan Redis menggunakan mekanisme sub-pub dalam python

王林
Lepaskan: 2023-05-26 18:55:28
ke hadapan
968 orang telah melayarinya

Mula-mula perkenalkan fungsi pub/sub redis:

Ciri Pub/Sub, yang bermaksud Terbitkan dan Langgan, merujuk kepada fungsi penerbitan dan melanggan. Dalam sistem berasaskan acara, Pub/Sub pada masa ini merupakan model komunikasi yang digunakan secara meluas Ia menggunakan acara sebagai mekanisme komunikasi asas untuk menyediakan model interaksi berganding longgar yang diperlukan oleh sistem berskala besar: pelanggan (seperti pelanggan) melanggan acara kaedah menyatakan acara atau jenis acara yang ia berminat untuk menerima penerbit (seperti pelayan) boleh memberitahu pelanggan yang berkaitan pada bila-bila masa acara yang pelanggan berminat.

Dalam istilah orang awam, ini bermakna sub-side (pelanggan) saya sentiasa mendengar Apabila pihak pub (penerbit) menerbitkan mesej, maka saya akan menerimanya sebagai contoh, penerbit terlebih dahulu:

#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
Salin selepas log masuk

Kemudian mari kita lihat pelanggan:

#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']
Salin selepas log masuk

Mengenai struktur data, iaitu item, ia serupa dengan: {'pattern': None, 'type': 'message ', 'channel' : 'liao', 'data': '300033 1'}, jadi anda boleh menggunakan saluran untuk menentukan baris gilir mesej itu. (Apabila menjalankan program, jalankan pelanggan dahulu, dan kemudian jalankan program penerbit)

Untuk meringkaskan, terdapat dua perkara utama:

  • Yang pertama ialah sambungan kaedah. Terdapat tiga cara untuk menggunakan python untuk menyambung ke redis: ① Gunakan kelas Redis dalam perpustakaan (atau kelas StrictRedis, yang hampir sama ② Gunakan kolam sambungan ConnectionPool (yang boleh mengekalkan sambungan yang panjang); Kelas Sentinel (jika terdapat berbilang kelompok redis, Program akan memilih sambungan yang sesuai itu sendiri).

  • Yang kedua ialah kaedah langganan. Kaedah pubsub dalam kelas StrictRedis digunakan di sini. Cara untuk melanggan mesej redis adalah dengan menggunakan kaedah langgan atau planggan, yang bermula selepas sambungan berjaya. Jika melanggan adalah untuk melanggan satu saluran, planggan boleh melanggan berbilang saluran (apabila ditulis seperti ini, saluran sebagai parameter haruslah senarai). Kemudian anda boleh mula memantau.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan langganan dan penerbitan Redis menggunakan mekanisme sub-pub dalam python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan