Aktivera Meddelanden om Redis-nyckelområden (förhandsversion)

Redis-keyspace-meddelanden gör det möjligt för klienter att prenumerera på Pub/Sub-kanaler för att ta emot händelser som påverkar Redis-datauppsättningen på ett visst sätt. Använd keyspace-meddelanden (förhandsversion) för att övervaka ändringar av nycklar och värden i din Azure Managed Redis-cache.

Den här artikeln visar hur du distribuerar en cache med keyspace-meddelanden aktiverade, ansluter klienter med Redis-kommandon, prenumererar på meddelandekanaler och testar de resulterande händelserna.

Förutsättningar

Distribuera en cache med keyspace-meddelanden aktiverade

I det här exemplet använder du en Azure Resource Manager-mall (ARM) och Azure CLI för att distribuera en Azure Hanterad Redis-cache med keyspace-meddelanden aktiverade.

Ändra parametrarna CacheName och Region i följande mall och spara filen som KeyspaceTemplate.json.

Anmärkning

Värdet notifyKeyspaceEvents för "KEA" aktiverar keyspace-meddelanden för de flesta händelser. Minst "K" ELLER "E" krävs för att ta emot keyspace-meddelanden. För mer information om de olika händelsetyperna och hur du konfigurerar aviseringar för dem, se Redis-dokumentationen om nyckelrymdsaviseringar.

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

Distribuera mallen med kommandot az deployment group create Azure CLI. I följande exempel finns distributionen i resursgruppen exampleRG .

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

Ansluta Redis-klienter

Med antingen Redis Insight eller redis-cliöppnar du två CLI-sessioner och ansluter båda klienterna till cacheminnet.

Använd en terminal som prenumerant som tar emot keyspace-meddelanden och den andra som operatorn som kör Redis-kommandon.

Verifiera och prenumerera på händelser

Bekräfta att meddelandesträngen är konfigurerad i någon av terminalerna.

CONFIG GET notify-keyspace-events

I prenumerantterminalen väljer du det prenumerationsmönster som matchar de händelser som du vill observera. Följande är exempel:

  • Prenumerera på alla händelser och alla nycklar:

    PSUBSCRIBE __keyevent@0__:* __keyspace@0__:*
    
  • Prenumerera på en viss händelsetyp:

    SUBSCRIBE __keyevent@0__:set
    
  • Prenumerera på en specifik nyckel:

    SUBSCRIBE __keyspace@0__:mykey
    

Testa aviseringar

Växla till operatorterminalen och kör några Redis-kommandon mot en testnyckel.

SET mykey "hello"
EXPIRE mykey 10
DEL mykey

Prenumerantterminalen visar vilka händelser som inträffade och vilka nycklar som påverkades.

I följande skärmbild är prenumerantterminalen till vänster, prenumererar på alla händelser och alla nycklar, så den tar emot meddelanden om alla händelser som inträffar i cacheminnet. Operatorterminalen är till höger, där Redis-kommandon utfärdas mot olika nycklar.

Redis CLI-session som visar utdata för keyspace-meddelandeprenumeration.

Uppdatera meddelandeinställningar

Du kan ändra konfigurationen av keyspace-meddelanden senare utan att återskapa cacheminnet.

  1. Uppdatera värdet notifyKeyspaceEvents i KeyspaceTemplate.json samtidigt som du behåller CacheName och Region samma.
  2. Återanvänd mallen.
az deployment group create --resource-group exampleRG --template-file KeyspaceTemplate.json

Omdistributionen uppdaterar meddelandeinställningarna utan dataförlust, vilket gör att du kan aktivera, inaktivera eller ändra händelser som spåras, till exempel ändra från KEA till Ex för att endast spåra förfallohändelser.

Anmärkning

Om du uppdaterar meddelandeinställningarna i ett befintligt cacheminne som inte har distribuerats via ARM-mallen som visades tidigare kan du konfigurera din egen mall för att ange notifyKeyspaceEvents egenskapen. Se till att mallen innehåller det befintliga cacheklustret och databaskonfigurationerna för att undvika att skriva över andra cacheegenskaper.