Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le notifiche keyspace di Redis consentono ai client di sottoscrivere i canali Pub/Sub per ricevere eventi che influiscono sul set di dati Redis in qualche modo. Usare le notifiche keyspace (anteprima) per monitorare le modifiche apportate a chiavi e valori nella cache redis gestita di Azure.
Questo articolo illustra come distribuire una cache con le notifiche keyspace abilitate, connettere i client usando i comandi Redis, sottoscrivere i canali di notifica e testare gli eventi risultanti.
Prerequisiti
Redis Insight oppure lo strumento della riga di comando
redis-cli. Per la procedura di installazione, vedere Utilizzare gli strumenti client per gestire i dati in Azure Managed Redis.Annotazioni
Quando si usano gli strumenti client Redis, è consigliabile usare l'autenticazione Microsoft Entra ID per Azure Redis gestito quando disponibile.
Informazioni sui modelli di Azure Resource Manager (ARM). Per altre informazioni, vedere Azure Resource Manager documentazione.
Per Azure CLI:
Usa l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Introduzione a Azure Cloud Shell.
Se si preferisce eseguire i comandi CLI di riferimento in locale, installa Azure CLI. Se si esegue in Windows o macOS, è consigliabile eseguire Azure CLI in un contenitore Docker. Per altre informazioni, vedere Come eseguire il Azure CLI in un contenitore Docker.
Se si usa un'installazione locale, accedere al Azure CLI usando il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Authenticate to Azure using Azure CLI.For other sign-in options, see Authenticate to Azure using Azure CLI.
Quando richiesto, installare l'estensione Azure CLI al primo uso. Per altre informazioni sulle estensioni, vedere Usare e gestire le estensioni con Azure CLI.
Esegui az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, avviare az upgrade.
Distribuire una cache con le notifiche dello spazio delle chiavi abilitate
In questo esempio usare un modello di Azure Resource Manager (ARM) e il Azure CLI per distribuire una cache Redis gestita di Azure con le notifiche di keyspace abilitate.
Modificare i CacheName parametri e Region nel modello seguente e salvare il file come KeyspaceTemplate.json.
Annotazioni
Il notifyKeyspaceEvents valore di "KEA" abilita le notifiche keyspace per la maggior parte degli eventi. Per ricevere le notifiche di keyspace, è necessario almeno "K" O "E". Per altre informazioni sui diversi tipi di eventi e su come configurare le notifiche, vedere la documentazione relativa alle notifiche di Redis keyspace .
{
"$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"
}
}
]
}
Distribuire il modello usando il comando az deployment group create Azure CLI. Nell'esempio seguente la distribuzione si trova nel gruppo di risorse exampleRG .
az deployment group create --resource-group exampleRG --template-file KeyspaceTemplate.json
Connettere i client Redis
Usando Redis Insight o redis-cli, aprire due sessioni dell'interfaccia della riga di comando e connettere entrambi i client alla cache.
Usare un terminale come sottoscrittore che riceve le notifiche keyspace e l'altro come operatore che esegue i comandi Redis.
Verificare e sottoscrivere gli eventi
In entrambi i terminal verificare che la stringa di notifica sia configurata.
CONFIG GET notify-keyspace-events
Nel terminale del sottoscrittore scegliere il modello di sottoscrizione corrispondente agli eventi che si desidera osservare. Di seguito sono illustrati alcuni esempi:
Sottoscrivere tutti gli eventi e tutte le chiavi:
PSUBSCRIBE __keyevent@0__:* __keyspace@0__:*Sottoscrivere un tipo di evento specifico:
SUBSCRIBE __keyevent@0__:setSottoscrivere una chiave specifica:
SUBSCRIBE __keyspace@0__:mykey
Notifiche di test
Passare al terminale dell'operatore ed eseguire alcuni comandi Redis su una chiave di test.
SET mykey "hello"
EXPIRE mykey 10
DEL mykey
Il terminale del sottoscrittore mostra quali eventi si sono verificati e quali chiavi sono state interessate.
Nello screenshot seguente, il terminale del sottoscrittore si trova a sinistra, sottoscritto a tutti gli eventi e a tutte le chiavi, in modo da ricevere notifiche per tutti gli eventi che si verificano nella cache. Il terminale dell'operatore si trova a destra, dove i comandi Redis vengono eseguiti su diverse chiavi.
Aggiornare le impostazioni di notifica
È possibile modificare la configurazione di notifica keyspace in un secondo momento senza ricreare la cache.
- Aggiornare il valore
notifyKeyspaceEventsinKeyspaceTemplate.jsonmantenendoCacheNameeRegiongli stessi. - Ridistribuire il modello.
az deployment group create --resource-group exampleRG --template-file KeyspaceTemplate.json
La ridistribuzione aggiorna le impostazioni di notifica senza perdita di dati, che consente di abilitare, disabilitare o modificare gli eventi rilevati, ad esempio il passaggio da KEA a Ex a per tenere traccia solo degli eventi di scadenza.
Annotazioni
Se stai aggiornando le impostazioni di notifica su una cache esistente che non è stata distribuita tramite il modello ARM mostrato in precedenza, puoi creare un proprio modello per impostare la proprietà notifyKeyspaceEvents. Assicurarsi che il modello includa le configurazioni del cluster e del database della cache esistenti per evitare di sovrascrivere altre proprietà della cache.
Contenuti correlati
- Notifiche del Keyspace in Azure Cache for Redis
- Documentazione relativa alle notifiche keyspace di Redis
- Notifiche degli eventi keyspace di Redis