Redis menerbitkan dan melanggan
Redis publish dan subscribe (pub/sub) ialah model komunikasi mesej: pengirim (pub) menghantar mesej dan pelanggan (sub) menerima mesej.
Pelanggan Redis boleh melanggan sebarang bilangan saluran.
Rajah berikut menunjukkan hubungan antara saluran saluran1 dan tiga pelanggan yang melanggan saluran ini - klien2, klien5 dan klien1:
Apabila terdapat mesej baharu melalui arahan PUBLISH Apabila dihantar ke saluran1, mesej ini akan dihantar kepada tiga pelanggan yang melanggannya:
Contoh
Contoh berikut menunjukkan cara penerbitan dan langgan berfungsi. Dalam contoh kami, kami mencipta saluran langganan bernama redisChat:
redis 127.0.0.1:6379> SUBSCRIBE redisChat Reading messages... (press Ctrl-C to quit) 1) "subscribe" 2) "redisChat" 3) (integer) 1
Sekarang, kami mula-mula memulakan semula pelanggan redis, dan kemudian menerbitkan dua mesej dalam saluran yang sama redisChat, pelanggan Anda boleh terima. mesej itu.
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 w3cschool.cc" (integer) 1 # 订阅者的客户端会显示如下消息 1) "message" 2) "redisChat" 3) "Redis is a great caching technique" 1) "message" 2) "redisChat" 3) "Learn redis by w3cschool.cc"
Arahan terbitkan dan langgan semula
Jadual berikut menyenaraikan arahan terbitan dan langgan redis biasa:
序号 | 命令及描述 |
---|---|
1 | PSUBSCRIBE pattern [pattern ...] 订阅一个或多个符合给定模式的频道。 |
2 | PUBSUB subcommand [argument [argument ...]] 查看订阅与发布系统状态。 |
3 | PUBLISH channel message 将信息发送到指定的频道。 |
4 | PUNSUBSCRIBE [pattern [pattern ...]] 退订所有给定模式的频道。 |
5 | SUBSCRIBE channel [channel ...] 订阅给定的一个或多个频道的信息。 |
6 | UNSUBSCRIBE [channel [channel ...]] 指退订给定的频道。 |