Latest web development tutorials

Redis mempublikasikan dan berlangganan

Redis mempublikasikan-berlangganan (pub / sub) adalah modus pesan: pengirim (pub) untuk mengirim pesan, pelanggan (sub) menerima pesan.

klien Redis dapat berlangganan ke sejumlah saluran.

Gambar di bawah menunjukkan saluran channel1, dan berlangganan ke saluran tiga klien - yang Client2 hubungan, client5 dan antara client1:

pubsub1

Ketika pesan baru dikirim ke saluran dengan channel1 PUBLISH perintah, pesan ini akan dikirim untuk berlangganan tiga klien:

pubsub2

contoh

Contoh berikut menunjukkan bagaimana ini bekerja mempublikasikan dan berlangganan. Dalam contoh kita telah membuat saluran langganan disebutredisChat:

redis 127.0.0.1:6379> SUBSCRIBE redisChat

Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "redisChat"
3) (integer) 1

Sekarang, mari kita kembali membuka klien Redis, dan kemudian mempublikasikan redisChat pesan dua kali dalam saluran yang sama, pelanggan akan dapat menerima pesan.

redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique"

(integer) 1

redis 127.0.0.1:6379> PUBLISH redisChat "Learn redis by w3big.com"

(integer) 1

# 订阅者的客户端会显示如下消息
1) "message"
2) "redisChat"
3) "Redis is a great caching technique"
1) "message"
2) "redisChat"
3) "Learn redis by w3big.com"

Redis mempublikasikan dan berlangganan perintah

Tabel berikut berisi daftar Redis mempublikasikan berlangganan perintah yang umum digunakan:

Tidak. Perintah dan deskripsi
1 Pola PSUBSCRIBE [pola ...]
Berlangganan satu atau lebih cocok dengan pola yang diberikan saluran.
2 PubSub subcommand [argumen [argumen ...] ]
Lihat berlangganan dan status sistem penerbitan.
3 MENERBITKAN pesan channel
informasi tersebut dikirim ke saluran yang ditentukan.
4 PUNSUBSCRIBE [pola [pola ...]]
Berhenti berlangganan dari semua saluran yang diberikan pola.
5 BERLANGGANAN channel [channel ...]
Berlangganan informasi yang diberikan kepada satu atau lebih saluran.
6 UNSUBSCRIBE [channel [channel ...]]
Hal ini mengacu berhenti berlangganan dari saluran tertentu.