Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As notificações do keyspace do Redis permitem que os clientes assinem canais Pub/Sub para receber eventos que afetam o conjunto de dados do Redis de alguma forma. Use as notificações de keyspace (versão preliminar) para monitorar alterações em chaves e valores em seu cache do Redis Gerenciado do Azure.
Este artigo mostra como implantar um cache com notificações de keyspace habilitadas, conectar clientes usando comandos Redis, assinar canais de notificação e testar os eventos resultantes.
Pré-requisitos
Redis Insight ou a ferramenta de linha de comando
redis-cli. Para ver as etapas de instalação, consulte Use ferramentas do cliente para gerenciar dados no Redis Gerenciado do Azure.Observação
Ao usar as ferramentas de cliente Redis, recomendamos o uso de autenticação do Microsoft Entra ID para o Azure Managed Redis quando disponível.
Noções básicas sobre modelos do ARM (Azure Resource Manager). Para obter mais informações, consulte Azure Resource Manager documentação.
Para Azure CLI:
Use o ambiente bash em Azure Cloud Shell. Para obter mais informações, consulte Get iniciado com Azure Cloud Shell.
Se você preferir executar comandos de referência da CLI localmente, instalar o Azure CLI. Se você estiver executando em Windows ou macOS, considere executar Azure CLI em um contêiner do Docker. Para obter mais informações, consulte Como executar o Azure CLI em um contêiner do Docker.
Se você estiver usando uma instalação local, entre no Azure CLI usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas em seu terminal. Para obter outras opções de entrada, consulte Authenticate para Azure usando Azure CLI.
Quando for solicitado, instale a extensão Azure CLI no primeiro uso. Para obter mais informações sobre extensões, consulte Use e gerencie extensões com o Azure CLI.
Execute o comando az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para atualizar para a versão mais recente, execute az upgrade.
Implantar um cache com notificações de keyspace habilitadas
Neste exemplo, utilize um modelo do Azure Resource Manager (ARM) e a CLI do Azure para implantar um cache do Redis Gerenciado do Azure com notificações de keyspace habilitadas.
Modifique os parâmetros CacheName e Region no modelo a seguir e salve o arquivo como KeyspaceTemplate.json.
Observação
O notifyKeyspaceEvents valor de "KEA" permite notificações de keyspace para a maioria dos eventos. Pelo menos "K" OU "E" é necessário para receber notificações de keyspace. Consulte a documentação de notificações do keyspace do Redis para obter mais informações sobre os diferentes tipos de eventos e como configurar notificações para eles.
{
"$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"
}
}
]
}
Implante o modelo usando o comando az deployment group create Azure CLI. No exemplo a seguir, a implantação está no grupo de recursos exampleRG .
az deployment group create --resource-group exampleRG --template-file KeyspaceTemplate.json
Conectar clientes Redis
Usando o Redis Insight ou redis-cli, abra duas sessões da CLI e conecte ambos os clientes ao cache.
Use um terminal como o assinante que recebe notificações de keyspace e o outro como o operador que executa comandos Redis.
Verificar e assinar eventos
Em qualquer terminal, confirme se a cadeia de caracteres de notificação está configurada.
CONFIG GET notify-keyspace-events
No terminal do assinante, escolha o padrão de assinatura que corresponde aos eventos que você deseja observar. Os exemplos são os seguintes:
Assine todos os eventos e todas as chaves:
PSUBSCRIBE __keyevent@0__:* __keyspace@0__:*Assine um tipo de evento específico:
SUBSCRIBE __keyevent@0__:setAssine uma chave específica:
SUBSCRIBE __keyspace@0__:mykey
Notificações de teste
Alterne para o terminal do operador e execute alguns comandos no Redis usando uma chave de teste.
SET mykey "hello"
EXPIRE mykey 10
DEL mykey
O terminal do assinante mostra quais eventos ocorreram e quais chaves foram afetadas.
Na captura de tela a seguir, o terminal do assinante está à esquerda, inscrito em todos os eventos e todas as chaves, portanto, recebe notificações para todos os eventos que ocorrem no cache. O terminal do operador está à direita, onde os comandos Redis são emitidos para várias chaves.
Atualizar configurações de notificação
Você pode alterar a configuração de notificação do keyspace posteriormente sem recriar o cache.
- Atualize o valor de
notifyKeyspaceEventsemKeyspaceTemplate.jsone mantenhaCacheNameeRegioninalterados. - Reimplantar o modelo.
az deployment group create --resource-group exampleRG --template-file KeyspaceTemplate.json
A reimplantação atualiza as configurações de notificação sem perda de dados, o que permite habilitar, desabilitar ou alterar os eventos que são rastreados, como mover de KEA para Ex para acompanhar somente eventos de expiração.
Observação
Se você estiver atualizando as configurações de notificação em um cache existente que não foi implantado por meio do modelo do ARM mostrado anteriormente, poderá configurar seu próprio modelo para definir a notifyKeyspaceEvents propriedade. Verifique se o modelo inclui as configurações existentes do cluster de cache e do banco de dados para evitar a substituição de outras propriedades de cache.
Conteúdo relacionado
- Notificações de Keyspace no Azure Cache for Redis
- Documentação de notificações do keyspace do Redis
- Notificações de eventos de keyspace do Redis