


Bagaimana untuk melaksanakan langganan dan penerbitan Redis menggunakan mekanisme sub-pub dalam python
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
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']
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apabila menggunakan Perpustakaan Pandas Python, bagaimana untuk menyalin seluruh lajur antara dua data data dengan struktur yang berbeza adalah masalah biasa. Katakan kita mempunyai dua DAT ...

Penggunaan alternatif anotasi parameter python Dalam pengaturcaraan Python, anotasi parameter adalah fungsi yang sangat berguna yang dapat membantu pemaju memahami dan menggunakan fungsi ...

Bagaimanakah skrip Python jelas output ke kedudukan kursor di lokasi tertentu? Semasa menulis skrip python, adalah perkara biasa untuk membersihkan output sebelumnya ke kedudukan kursor ...

Mengapa kod saya tidak dapat mendapatkan data yang dikembalikan oleh API? Dalam pengaturcaraan, kita sering menghadapi masalah mengembalikan nilai null apabila panggilan API, yang bukan sahaja mengelirukan ...

Bagaimanakah Uvicorn terus mendengar permintaan HTTP? Uvicorn adalah pelayan web ringan berdasarkan ASGI. Salah satu fungsi terasnya ialah mendengar permintaan HTTP dan teruskan ...

Di Python, bagaimana untuk membuat objek secara dinamik melalui rentetan dan panggil kaedahnya? Ini adalah keperluan pengaturcaraan yang biasa, terutamanya jika perlu dikonfigurasikan atau dijalankan ...

Kaedah muat turun Perpustakaan Python (.whl) Meneroka kesukaran banyak pemaju Python apabila memasang perpustakaan tertentu pada sistem Windows. Penyelesaian yang sama ...

Menggunakan Django dan MySQL untuk memproses jumlah data yang besar apabila menggunakan pangkalan data Django dan MySQL, jika jumlah data anda mencapai ratusan ribu hingga satu atau dua juta ...
