Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las notificaciones de espacio de claves de Redis permiten a los clientes suscribirse a canales Pub/Sub para recibir eventos que afectan al conjunto de datos de Redis de alguna manera. Utilice las notificaciones de keyspace (versión preliminar) para monitorear los cambios de claves y valores en la caché de Redis gestionada por Azure.
En este artículo se muestra cómo implementar una caché con notificaciones de espacio de claves habilitadas, conectar clientes mediante comandos de Redis, suscribirse a canales de notificación y probar los eventos resultantes.
Prerrequisitos
Redis Insight o
redis-clila herramienta de línea de comandos. Para conocer los pasos de instalación, consulte Use las herramientas de cliente para administrar datos en Azure Managed Redis.Nota:
Al usar las herramientas de cliente de Redis, se recomienda usar Microsoft Entra ID autenticación para Azure Managed Redis cuando esté disponible.
Descripción de las plantillas de Azure Resource Manager (ARM). Para obtener más información, consulte Azure Resource Manager documentación.
Para Azure CLI:
Use el entorno de Bash en Azure Cloud Shell. Para obtener más información, consulte Get started with Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si se ejecuta en Windows o macOS, considere la posibilidad de ejecutar Azure CLI en un contenedor de Docker. Para obtener más información, consulte Cómo ejecutar el Azure CLI en un contenedor de Docker.
Si usa una instalación local, inicie sesión en el Azure CLI mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Authenticate para Azure con Azure CLI.
Cuando se le solicite, instale la extensión Azure CLI en el primer uso. Para obtener más información sobre las extensiones, consulte Use y administre extensiones con el Azure CLI.
Ejecute az version para ver la versión y las bibliotecas dependientes que están instaladas. Para actualizar a la versión más reciente, ejecute az upgrade.
Desplegar una caché con notificaciones de keyspace habilitadas
En este ejemplo, use una plantilla de Azure Resource Manager (ARM) y Azure CLI para implementar una caché de Redis administrada de Azure con notificaciones de espacio de clave habilitadas.
Modifique los CacheName parámetros y Region de la plantilla siguiente y guarde el archivo como KeyspaceTemplate.json.
Nota:
El valor notifyKeyspaceEvents de "KEA" permite notificaciones de espacio de claves para la mayoría de los eventos. Se requiere al menos "K" o "E" para recibir notificaciones del espacio de claves. Consulte la documentación de notificaciones del espacio de claves de Redis para obtener más información sobre los distintos tipos de eventos y cómo configurar las notificaciones para ellos.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"cachename": {
"defaultValue": "{CacheName}",
"type": "String"
},
"region": {
"defaultValue": "{Region}",
"type": "String"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Cache/redisEnterprise",
"apiVersion": "2026-02-01-preview",
"name": "[parameters('cachename')]",
"location": "[parameters('region')]",
"sku": {
"name": "Balanced_B5"
},
"identity": {
"type": "None"
},
"properties": {
"minimumTlsVersion": "1.2",
"publicNetworkAccess": "Enabled"
}
},
{
"type": "Microsoft.Cache/redisEnterprise/databases",
"apiVersion": "2026-02-01-preview",
"name": "[concat(parameters('cachename'), '/default')]",
"dependsOn": [
"[resourceId('Microsoft.Cache/redisEnterprise', parameters('cachename'))]"
],
"properties": {
"clientProtocol": "Encrypted",
"port": 10000,
"clusteringPolicy": "OSSCluster",
"evictionPolicy": "NoEviction",
"persistence": {
"aofEnabled": false,
"rdbEnabled": false
},
"notifyKeyspaceEvents": "KEA"
}
}
]
}
Implemente la plantilla con el comando az deployment group create Azure CLI. En el ejemplo siguiente, la implementación se encuentra en el grupo de recursos exampleRG .
az deployment group create --resource-group exampleRG --template-file KeyspaceTemplate.json
Conexión de clientes de Redis
Con Redis Insight o redis-cli, abra dos sesiones de la CLI y conecte ambos clientes a la memoria caché.
Usa un terminal como el suscriptor que recibe notificaciones de keyspace y el otro como el operador para ejecutar comandos de Redis.
Comprobación y suscripción a eventos
En cualquier terminal, confirme que la cadena de notificación está configurada.
CONFIG GET notify-keyspace-events
En el terminal del suscriptor, elija el patrón de suscripción que coincida con los eventos que desea observar. A continuación, se muestran algunos ejemplos:
Suscríbase a todos los eventos y a todas las claves:
PSUBSCRIBE __keyevent@0__:* __keyspace@0__:*Suscríbase a un tipo de evento específico:
SUBSCRIBE __keyevent@0__:setSuscríbase a una clave específica:
SUBSCRIBE __keyspace@0__:mykey
Notificaciones de prueba
Cambie al terminal del operador y ejecute algunos comandos de Redis en una clave de prueba.
SET mykey "hello"
EXPIRE mykey 10
DEL mykey
El terminal de suscriptor muestra qué eventos se produjeron y qué claves se vieron afectadas.
En la captura de pantalla siguiente, el terminal del suscriptor está a la izquierda, se suscribe a todos los eventos y a todas las claves, por lo que recibe notificaciones de todos los eventos que se producen en la memoria caché. El terminal del operador está a la derecha, donde los comandos de Redis se emiten con varias claves.
Actualización de la configuración de notificación
Puede cambiar la configuración de notificación del espacio de claves más adelante sin volver a crear la memoria caché.
- Actualice el valor
notifyKeyspaceEventsdeKeyspaceTemplate.jsonmientras mantieneCacheNameyRegionintactos. - Vuelva a implementar la plantilla.
az deployment group create --resource-group exampleRG --template-file KeyspaceTemplate.json
La reimplementación actualiza la configuración de notificación sin pérdida de datos, lo que le permite habilitar, deshabilitar o cambiar los eventos de los que se realiza el seguimiento, como pasar de KEA a Ex para realizar un seguimiento de los eventos de expiración únicamente.
Nota:
Si va a actualizar la configuración de notificación en una caché existente que no se implementó a través de la plantilla de ARM mostrada anteriormente, puede configurar su propia plantilla para establecer la notifyKeyspaceEvents propiedad . Asegúrese de que la plantilla incluye el clúster de caché existente y las configuraciones de base de datos para evitar sobrescribir otras propiedades de caché.
Contenido relacionado
- Notificaciones de espacio de claves en Azure Cache for Redis
- Documentación de notificaciones del espacio de claves de Redis
- Notificaciones de eventos de Espacio de claves de Redis