Redis ialah sistem storan struktur data dalam memori sumber terbuka yang popular yang menyokong pelbagai struktur data, termasuk rentetan, cincang, senarai, set dan set tersusun. Sebagai tambahan kepada struktur data asas ini, Redis juga menyediakan banyak fungsi lanjutan, salah satunya ialah fungsi terbitkan dan langgan. Artikel ini akan memperkenalkan fungsi terbitkan dan langgan Redis, termasuk prinsip asasnya dan cara melaksanakannya dalam Redis.
1. Prinsip asas penerbitan dan langgan Redis
Terbitkan dan langgan ialah model pemesejan di mana penerbit tidak menghantar mesej terus kepada pelanggan, tetapi menghantar mesej ke saluran (saluran) . Pelanggan mendengar saluran tertentu untuk mendapatkan mesej yang dihantar oleh penerbit. Dalam Redis, model ini dipanggil publish-subscribe.
Di Redis, penerbit menghantar mesej ke saluran tertentu dan saluran ini dilanggan oleh pelanggan. Apabila penerbit menghantar mesej ke saluran, semua pelanggan saluran akan menerima mesej tersebut. Model ini berguna untuk aplikasi dengan keperluan masa nyata yang tinggi, seperti bilik sembang dan analisis data masa nyata.
2. Pelaksanaan penerbitan dan langgan Redis
Redis menyediakan beberapa arahan untuk menyokong model penerbitan dan langganan. Mari kita lihat penggunaan dan pelaksanaan khusus bagi arahan ini.
Arahan PUBLISH digunakan untuk menghantar mesej ke saluran yang ditentukan. Sintaksnya adalah seperti berikut:
TERBITKAN mesej saluran
di mana saluran ialah nama saluran dan mesej ialah mesej yang akan dihantar. Contohnya, untuk menghantar mesej ke saluran bernama "berita", anda boleh menggunakan arahan berikut:
TERBITKAN berita "Hello, dunia!"
Arahan LANGGAN digunakan untuk melanggan satu atau lebih saluran. Sintaksnya adalah seperti berikut:
LANGGAN saluran [saluran …]
Sebagai contoh, untuk melanggan dua saluran bernama "berita" dan "cuaca", anda boleh menggunakan arahan berikut:
LANGGAN cuaca berita
Apabila mesej baharu diterbitkan ke mana-mana saluran yang dilanggan, Redis akan menghantar mesej itu kepada pelanggan dan pelanggan boleh memproses mesej itu.
Arahan NYAHLANGGAN digunakan untuk menyahlanggan satu atau lebih saluran. Sintaksnya adalah seperti berikut:
NYAH LANGGAN [saluran [saluran …]]
Sebagai contoh, untuk berhenti melanggan saluran bernama "berita", anda boleh menggunakan arahan berikut:
NYAHKAN LANGGAN berita
Apabila pelanggan menyahlanggan saluran, Redis tidak akan menghantar mesej untuk saluran itu lagi.
Arahan PLANGGAN digunakan untuk melanggan satu atau lebih saluran melalui corak. Sintaksnya adalah seperti berikut:
PLAT LANGGAN [corak …]
Di mana, corak ialah ungkapan kad bebas, contohnya, "berita.*" boleh memadankan semua saluran yang namanya bermula dengan "berita .".
Arahan PUNSUBSCRIBE digunakan untuk membatalkan satu atau lebih saluran yang dilanggan melalui mod. Sintaksnya adalah seperti berikut:
PUNSUBSCRIBE [corak [corak …]]
Contohnya, untuk berhenti melanggan corak bernama "berita." dan "cuaca." Saluran , anda boleh menggunakan arahan berikut:
PUNSUBSCRIBE berita. cuaca.
Apabila pelanggan melanggan saluran menggunakan corak, Redis akan memadankan semua nama saluran yang memuaskan ungkapan kad bebas , dan kemudian hantar mesej daripada saluran ini kepada pelanggan.
3. Contoh penerbitan dan langgan Redis
Berikut ialah contoh mudah yang menunjukkan cara menggunakan model penerbitan dan langganan Redis.
redis-cli
SUBSCRIBE news
TERBITKAN berita "Helo, dunia!"
1) "message"
2) "news"
3) "Hello, world!"
Dalam contoh ini, kami membuat langganan saluran bernama "news" Subscriber dan kemudian menggunakan arahan PUBLISH dalam tetingkap lain untuk menghantar mesej kepada saluran. Selepas pelanggan menerima mesej, cetaknya ke konsol.
Kesimpulan
Artikel ini memperkenalkan fungsi penerbitan dan langganan Redis, termasuk prinsip asas dan kaedah pelaksanaannya dalam Redis. Berbanding dengan baris gilir mesej lain, fungsi penerbitan dan langgan Redis adalah sangat mudah, mudah digunakan dan dilaksanakan, serta mempunyai kelebihan daya pemprosesan tinggi dan kependaman rendah. Dengan menggunakan fungsi terbitkan-langganan Redis, anda boleh membina aplikasi masa nyata yang berkuasa dengan mudah, seperti bilik sembang, pemprosesan data masa nyata, dsb.
Atas ialah kandungan terperinci Pengenalan dan pelaksanaan fungsi terbitkan dan langgan Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!