Włączanie powiadomień usługi Redis keyspace (wersja zapoznawcza)

Powiadomienia usługi Redis keyspace umożliwiają klientom subskrybowanie kanałów Pub/Sub i odbieranie zdarzeń wpływających na zestaw danych usługi Redis. Użyj powiadomień o przestrzeni kluczy (wersja zapoznawcza), aby monitorować zmiany kluczy i wartości w pamięci podręcznej redis zarządzanej Azure.

W tym artykule pokazano, jak wdrożyć pamięć podręczną z włączonymi powiadomieniami dotyczącymi przestrzeni kluczy, połączyć klientów za pomocą poleceń Redis, zasubskrybować kanały powiadomień i przetestować generowane zdarzenia.

Wymagania wstępne

Zaimplementuj pamięć podręczną z włączonymi powiadomieniami dla przestrzeni kluczy

W tym przykładzie użyj szablonu Azure Resource Manager (ARM), oraz Azure CLI do wdrożenia zarządzanej przez Azure pamięci podręcznej Redis z powiadomieniami przestrzeni kluczy włączonymi.

Zmodyfikuj CacheName i Region parametry w poniższym szablonie i zapisz plik jako KeyspaceTemplate.json.

Uwaga / Notatka

Wartość notifyKeyspaceEvents "KEA" umożliwia wysyłanie powiadomień o przestrzeni kluczy dla większości zdarzeń. Wartość „K” lub „E” jest wymagana, aby otrzymywać powiadomienia keyspace. Aby uzyskać więcej informacji na temat różnych typów zdarzeń i sposobu konfigurowania powiadomień dla nich, zobacz dokumentację powiadomień o przestrzeni kluczy Redis.

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

Wdróż szablon przy użyciu polecenia az deployment group create Azure CLI. W poniższym przykładzie wdrożenie znajduje się w grupie zasobów exampleRG.

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

Łączenie klientów usługi Redis

Otwórz dwie sesje CLI za pomocą Redis Insight lub redis-cli i połącz obu klientów z pamięcią podręczną. Użyj jednego terminalu jako subskrybenta do odbierania powiadomień o przestrzeni kluczy, a drugiego jako operatora do uruchamiania poleceń Redis.

Weryfikowanie i subskrybowanie zdarzeń

W obu terminalach upewnij się, że ciąg powiadomienia jest skonfigurowany.

CONFIG GET notify-keyspace-events

W terminalu subskrybenta wybierz wzorzec subskrypcji zgodny ze zdarzeniami, które chcesz obserwować. W poniższych przykładach pokazano, jak subskrybować różne zdarzenia:

  • Subskrybuj wszystkie zdarzenia i wszystkie klucze:

    PSUBSCRIBE __keyevent@0__:* __keyspace@0__:*
    
  • Subskrybowanie określonego typu zdarzenia:

    SUBSCRIBE __keyevent@0__:set
    
  • Subskrybowanie określonego klucza:

    SUBSCRIBE __keyspace@0__:mykey
    

Powiadomienia testowe

Przejdź do terminalu operatora i uruchom kilka poleceń usługi Redis względem klucza testowego.

SET mykey "hello"
EXPIRE mykey 10
DEL mykey

Terminal subskrybenta pokazuje, które zdarzenia wystąpiły i których kluczy dotyczyły.

Na poniższym zrzucie ekranu terminal subskrybenta znajduje się po lewej stronie, subskrybowany do wszystkich zdarzeń i wszystkich kluczy, dzięki czemu odbiera powiadomienia o wszystkich zdarzeniach występujących w pamięci podręcznej. Terminal operatora znajduje się po prawej stronie, gdzie polecenia usługi Redis są wydawane dla różnych kluczy.

Sesja CLI Redis przedstawiająca wynik subskrypcji powiadomień dotyczących przestrzeni kluczy.

Aktualizowanie ustawień powiadomień

Konfigurację powiadomień o przestrzeni kluczy można zmienić później bez ponownego tworzenia pamięci podręcznej.

  1. Zaktualizuj wartość w notifyKeyspaceEvents, jednocześnie zachowując KeyspaceTemplate.json i CacheName bez zmian.
  2. Ponownie wdróż szablon.
az deployment group create --resource-group exampleRG --template-file KeyspaceTemplate.json

Ponownie wdrażane aktualizacje ustawień powiadomień bez utraty danych umożliwiają włączanie, wyłączanie lub zmienianie śledzonych zdarzeń, takich jak przejście z KEA do Ex w celu śledzenia wyłącznie zdarzeń wygaśnięcia.

Uwaga / Notatka

Jeśli aktualizujesz ustawienia powiadomień w istniejącej pamięci podręcznej, która nie została wdrożona za pośrednictwem przedstawionego wcześniej szablonu ARM, możesz skonfigurować własny szablon, aby ustawić właściwość notifyKeyspaceEvents. Upewnij się, że szablon zawiera istniejące konfiguracje klastra pamięci podręcznej i bazy danych, aby uniknąć zastępowania innych właściwości pamięci podręcznej.

Włączanie powiadomień dotyczących przestrzeni kluczy w portalu Azure

Jeśli masz już Azure zarządzaną pamięć podręczną Redis Cache, możesz włączyć powiadomienia o przestrzeni kluczy bezpośrednio w portalu Azure.

  1. Otwórz istniejący zasób usługi Redis zarządzanej Azure w portalu Azure.
  2. Wybierz pozycję Ustawienia zaawansowane.
  3. Włącz powiadomienie o przestrzeni kluczy.
  4. W polu Typy zdarzeń powiadomień Keyspace wprowadź ciąg znaków typów zdarzeń. Wartość „KEA” włącza powiadomienia dotyczące przestrzeni kluczy dla większości zdarzeń. Wartość „K” lub „E” jest wymagana, aby odbierać powiadomienia keyspace.
  5. Użyj KEA, aby włączyć powiadomienia keyspace i keyevent dla szerokiego zakresu typów zdarzeń.
  6. Wybierz Zapisz, aby zastosować ustawienie.

Na poniższym zrzucie ekranu pokazano, że wartość KEA skonfigurowano w Ustawieniach zaawansowanych dla istniejącej pamięci podręcznej.

Strona ustawień zaawansowanych usługi Azure Managed Redis przedstawiająca powiadomienia o przestrzeni kluczy skonfigurowane za pomocą KEA.