Aktivieren von Redis-Tastentastenbenachrichtigungen (Vorschau)

Redis-Schlüsselraumnachrichten ermöglichen es Clients, sich bei Pub/Sub-Kanälen anzumelden, um Ereignisse zu empfangen, die auf irgendeine Weise den Redis-Datensatz beeinflussen. Verwenden Sie Keyspacebenachrichtigungen (Vorschau), um Änderungen an Schlüsseln und Werten in Ihrem Azure Verwalteten Redis-Cache zu überwachen.

In diesem Artikel wird gezeigt, wie Sie einen Cache mit aktivierten Keyspacebenachrichtigungen bereitstellen, Clients mithilfe von Redis-Befehlen verbinden, Benachrichtigungskanäle abonnieren und die resultierenden Ereignisse testen.

Voraussetzungen

  • Redis Insight oder redis-cli Befehlszeilentool. Installationsschritte finden Sie unter Use client tools to manage data in Azure Managed Redis.

    Hinweis

    Wenn Sie Redis-Clienttools verwenden, empfehlen wir die Verwendung der Microsoft Entra ID-Authentifizierung für verwaltetes Azure Redis, wenn verfügbar.

  • Grundlegendes zu Azure Resource Manager (ARM)-Vorlagen. Weitere Informationen finden Sie in der Dokumentation Azure Resource Manager.

  • Für Azure CLI:

Bereitstellen eines Caches mit aktivierten Keyspace-Benachrichtigungen

Verwenden Sie in diesem Beispiel eine Azure Resource Manager (ARM)-Vorlage und die Azure CLI, um einen verwalteten Azure Redis-Cache mit aktivierten Keyspace-Benachrichtigungen bereitzustellen.

Ändern Sie die Parameter CacheName und Region in der folgenden Vorlage, und speichern Sie die Datei unter KeyspaceTemplate.json.

Hinweis

Der notifyKeyspaceEvents Wert von "KEA" ermöglicht Keyspace-Benachrichtigungen für die meisten Ereignisse. Entweder "K" oder "E" ist erforderlich, um Keyspace-Benachrichtigungen zu erhalten. Weitere Informationen zu den verschiedenen Ereignistypen und zum Konfigurieren von Benachrichtigungen für diese finden Sie in der Redis Keyspace-Benachrichtigungsdokumentation .

{
    "$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"
            }
        }
    ]
}

Stellen Sie die Vorlage mithilfe des Befehls az deployment group create Azure CLI bereit. In dem folgenden Beispiel befindet sich die Bereitstellung in der Ressourcengruppe exampleRG.

az deployment group create --resource-group exampleRG --template-file KeyspaceTemplate.json

Verbinden von Redis-Clients

Verwenden Sie entweder Redis Insight oder redis-cli, um zwei CLI-Sitzungen zu öffnen und beide Clients mit dem Cache zu verbinden.

Verwenden Sie ein Terminal als Abonnent, der Zugriffstastenbenachrichtigungen empfängt, und die andere als Operator, der Redis-Befehle ausführt.

Überprüfen und Abonnieren von Ereignissen

Vergewissern Sie sich in beiden Terminalen, dass die Benachrichtigungszeichenfolge konfiguriert ist.

CONFIG GET notify-keyspace-events

Wählen Sie im Abonnentterminal das Abonnementmuster aus, das den Ereignissen entspricht, die Sie beobachten möchten. Es folgen Beispiele:

  • Abonnieren Sie alle Ereignisse und alle Schlüssel:

    PSUBSCRIBE __keyevent@0__:* __keyspace@0__:*
    
  • Ein Abonnement für einen bestimmten Ereignistyp:

    SUBSCRIBE __keyevent@0__:set
    
  • Abonnieren Sie einen bestimmten Schlüssel:

    SUBSCRIBE __keyspace@0__:mykey
    

Testen von Benachrichtigungen

Wechseln Sie zum Operatorterminal, und führen Sie einige Redis-Befehle für einen Testschlüssel aus.

SET mykey "hello"
EXPIRE mykey 10
DEL mykey

Das Abonnentterminal zeigt an, welche Ereignisse aufgetreten sind und welche Schlüssel betroffen waren.

Im folgenden Screenshot befindet sich das Abonnententerminal auf der linken Seite, abonniert für alle Ereignisse und alle Schlüssel, sodass sie Benachrichtigungen für alle Ereignisse empfängt, die im Cache auftreten. Das Bedienterminal befindet sich rechts, wo Redis-Befehle gegen verschiedene Tasten ausgegeben werden.

Redis-CLI-Sitzung mit Anzeige der Ausgabe des Keyspace-Benachrichtigungsabonnements.

Aktualisierung der Benachrichtigungseinstellungen

Sie können die Keyspacebenachrichtigungskonfiguration später ändern, ohne den Cache neu zu erstellen.

  1. Aktualisieren Sie den notifyKeyspaceEvents-Wert in KeyspaceTemplate.json, während CacheName und Region gleich bleiben.
  2. Stellen Sie die Vorlage erneut bereit.
az deployment group create --resource-group exampleRG --template-file KeyspaceTemplate.json

Durch erneutes Bereitstellen werden die Benachrichtigungseinstellungen ohne Datenverlust aktualisiert, sodass Sie die nachverfolgten Ereignisse aktivieren, deaktivieren oder ändern können, z. B. indem Sie von KEA zu Ex wechseln, um ausschließlich Ablaufereignisse zu verfolgen.

Hinweis

Wenn Sie die Benachrichtigungseinstellungen für einen vorhandenen Cache aktualisieren, der nicht über die zuvor gezeigte ARM-Vorlage bereitgestellt wurde, können Sie ihre eigene Vorlage so konfigurieren, dass die notifyKeyspaceEvents Eigenschaft festgelegt wird. Stellen Sie sicher, dass die Vorlage die vorhandenen Cachecluster- und Datenbankkonfigurationen enthält, um zu vermeiden, dass andere Cacheeigenschaften überschrieben werden.