English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Publicación y suscripción de Redis (pub/sub) es un modo de comunicación de mensajes: el remitente (pub) envía mensajes, y los suscriptores (sub) los reciben.
El cliente Redis puede suscribirse a cualquier cantidad de canales.
La siguiente imagen muestra el canal channel1 , y los tres clientes suscriptores de este canal —— el cliente2 、 el cliente5 y el cliente1 La relación entre
Cuando un nuevo mensaje se envíe al canal channel1 En ese momento, este mensaje se enviará a los tres clientes suscriptores:
El siguiente ejemplo muestra cómo funciona la publicación y suscripción, se necesitan abrir dos redis-cliente cli.
En nuestro ejemplo creamos un canal de suscripción llamado w3codeboxChat:
Ahora, primero reiniciemos un cliente Redis, luego en el mismo canal w3codeboxChat publicará dos mensajes, y el suscriptor podrá recibir los mensajes.
El proceso es el siguiente:
Inicie el servicio local de Redis, inicie dos redis-cliente cli.
EnPrimer redis-Cliente cliIngrese SUBSCRIBE w3codeboxChat, lo que significa suscribirse a w3canal codeboxChat.
EnSegundo redis-Cliente cliIngrese PUBLISH w3codeboxChat "Redis PUBLISH test" hacia w3codeboxChat canal en este momento en el primer redis-El cliente cli verá el mensaje enviado por el segundo redis-Mensaje de prueba enviado por el cliente cli.
La siguiente tabla enumera los comandos comunes de publicación y suscripción de redis:
Número | Comando y descripción |
---|---|
1 | PSUBSCRIBE patrón [patrón ...] Suscribirse a uno o más canales que coinciden con el patrón especificado. |
2 | PUBSUB subcomando [argumento [argumento ...]] Ver el estado del sistema de publicación y suscripción. |
3 | PUBLISH canal mensaje Enviar información al canal especificado. |
4 | PUNSUBSCRIBE [patrón [patrón ...]] Darse de baja de todos los canales especificados por el patrón. |
5 | SUBSCRIBE canal [canal ...] Suscribirse a la información de uno o más canales especificados. |
6 | UNSUBSCRIBE [canal [canal ...]] Darse de baja del canal especificado. |