Konfigurera Azure Cache for Redis

Slutförd

Ditt utvecklingsteam för sportstatistik har beslutat att cachelagring avsevärt kan förbättra prestandan för nyligen begärda data. Nästa steg är att skapa och konfigurera en Azure Cache for Redis-instans.

Skapa och konfigurera Azure Cache for Redis-instansen

Du kan skapa en Redis-cache med Azure-portalen, Azure CLI eller Azure PowerShell. Det finns flera parametrar som du måste bestämma för att konfigurera cachen korrekt för dina syften.

Name

Din Redis-cache behöver ett globalt unikt namn. Namnet måste vara unikt i Azure eftersom det används för att generera en offentlig URL för att ansluta och kommunicera med tjänsten.

Namnet måste vara mellan 1 och 63 tecken, bestående av siffror, bokstäver och - tecknet. Cachenamnet kan inte börja eller sluta med - tecknet och efterföljande - tecken är inte giltiga.

Resursgrupp

Azure Cache for Redis är en hanterad resurs och behöver en resursgruppsägare. Du kan antingen skapa en ny resursgrupp eller använda en befintlig i en prenumeration som du har åtkomst till.

Plats

Du måste bestämma var Redis-cachen ska finnas fysiskt genom att välja en Azure-region. Du ska alltid placera din cacheinstans och ditt program i samma region. Om du ansluter till en cache i en annan region kan latensen öka och tillförlitligheten minska avsevärt. Om du ansluter till cacheminnet utanför Azure väljer du en plats nära den plats där programmet som använder data körs.

Viktigt!

Placera din Redis-cache så nära datakonsumenten som möjligt.

Prisnivå

Som vi nämnde i föregående lektion finns det tre tillgängliga prisnivåer för en Azure Cache for Redis.

  • Grundläggande: Basic-cachen är perfekt för utveckling/testning. Den är begränsad till en enskild server, 53 GB minne och 20 000 anslutningar. Det finns inget serviceavtal för den här tjänstnivån.
  • Standard: Det här är produktionscachen som stöder replikering och innehåller ett serviceavtal på 99,99 %. Den stöder två servrar (primär/sekundär) och har samma minnes-/anslutningsgränser som Basic-nivån.
  • Premium: Det här är Enterprise-nivån, som bygger på standardnivån och innehåller stöd för beständighet, klustring och utskalningscachen. Premium är den högsta nivån med upp till 530 GB minne och 40 000 samtidiga anslutningar.

Du kan styra mängden cacheminne som är tillgängligt på varje nivå genom att välja en cachenivå från C0-C6 för Basic/Standard och P0-P4 för Premium. Mer information finns på prissättningssidan.

Dricks

Microsoft rekommenderar att du alltid använder Standard- eller Premium-nivån för produktionssystem. Basic-nivån är ett system med en nod utan datareplikering och inget serviceavtal. Använd också minst ett C1-cacheminne. C0-cacheminnen är verkligen avsedda för enkla utvecklings-/testscenarier, eftersom de har en delad CPU-kärna och mycket lite minne.

Med Premium-nivån kan du bevara data på två sätt för att tillhandahålla katastrofåterställning:

  1. RDB-persistens tar en periodisk ögonblicksbild och kan återskapa cachen med hjälp av ögonblicksbilden om det uppstår ett fel.

    Skärmbild av Azure Portal med alternativen för RDB-persistens på en ny Redis Cache-instans.

  2. AOF-persistens sparar varje skrivåtgärd till en logg som sparas minst en gång per sekund. AOF skapar större filer än RDB, men har mindre dataförlust.

    Skärmbild av Azure-portalen med alternativen för AOF-persistens på en ny Redis Cache-instans.

Det finns flera andra inställningar som bara är tillgängliga för Premium-nivån .

Stöd för virtuellt nätverk

Om du skapar en Redis-cache på premiumnivå kan du distribuera den till ett virtuellt nätverk i molnet. Cacheminnet är endast tillgängligt för andra virtuella datorer och program i samma virtuella nätverk. Att distribuera till ett virtuellt nätverk ger en högre säkerhetsnivå när både tjänsten och cachen finns i Azure eller är anslutna via ett virtuellt Azure-nätverk.

Klusterstöd

Med en Redis Cache på Premium-nivå kan du implementera klustring för att automatiskt fördela din datamängd mellan flera noder. För att implementera klustring anger du antalet shards till högst 10. Kostnaden som uppstår är kostnaden för den ursprungliga noden multiplicerad med antalet shards.

Få åtkomst till Redis-instansen

Redis stöder en uppsättning av kända kommandon. Ett kommando utfärdas vanligen som COMMAND parameter1 parameter2 parameter3.

Här följer några vanliga kommandon som du kan använda:

Kommando beskrivning
ping Pingar servern. Returnerar ”PONG”.
set [key] [value] Ställer in en nyckel/värde i cacheminnet. Returnerar ”OK” om åtgärden lyckades.
get [key] Hämtar ett värde från cachen.
exists [key] Returnerar "1" om nyckeln finns i cacheminnet, "0" om den inte gör det.
type [key] Returnerar typen som är associerad till värdet för den angivna nyckeln.
incr [key] Öka det angivna värdet som är associerat med nyckeln med ett. Värdet måste vara ett heltal eller ett double-värde. Returnerar det nya värdet.
incrby [key] [amount] Öka det angivna värdet som är associerat med nyckeln med den angivna mängden. Värdet måste vara ett heltal eller ett double-värde. Returnerar det nya värdet.
del [key] Tar bort värdet som är associerat med nyckeln.
flushdb Ta bort alla nycklar och värden i databasen.

Redis har ett kommandoradsverktyg (redis-cli) som du kan använda för att experimentera direkt med dessa kommandon. Här följer några exempel.

> set somekey somevalue
OK
> get somekey
"somevalue"
> exists somekey
(string) 1
> del somekey
(string) 1
> exists somekey
(string) 0

Här är ett exempel på hur du arbetar med kommandot INCR. Dessa kommandon är praktiska eftersom de ger atomiska steg i flera program som använder cacheminnet.

> set counter 100
OK
> incr counter
(integer) 101
> incrby counter 50
(integer) 151
> type counter
(integer)

Lägga till en förfallotid i värden

Cachelagring är viktig eftersom den gör att vi kan lagra vanliga värden i minnet. Men vi behöver också ett sätt att förfalla värden när de är inaktuella. Redis hanterar förfallodatum genom att tillämpa en time to live (TTL) på en nyckel.

När TTL:t förflutit tas nyckeln bort automatiskt, precis som om DEL kommandot utfärdades. Här är några anteckningar om TTL-förfallotider.

  • Förfallotider kan ställas in med sekund- eller millisekundprecision.
  • Tidsgränsen för förfall är alltid en millisekunder.
  • Tiden går praktiskt taget, även när Redis-servern förblir stoppad.
  • Förfalloinformation replikeras och sparas på disken.
  • Redis sparar det datum då en nyckel upphör att gälla.

Här är ett exempel på ett förfallodatum:

> set counter 100
OK
> expire counter 5
(integer) 1
> get counter
100
... wait ...
> get counter
(nil)

Få åtkomst till en Redis-cache från en klient

Om du vill ansluta till en Azure Cache for Redis-instans behöver du flera olika typer av information. Klienter behöver värdnamn, port och en åtkomstnyckel för cachen. Du kan hämta den här informationen i Azure-portalen via sidan Inställningar > Åtkomstnycklar.

  • Värdnamnet är den offentliga Internetadressen för cacheminnet, som skapades med namnet på cachen. till exempel sportsresults.redis.cache.windows.net.

  • Åtkomstnyckeln fungerar som lösenord för cachen. Två nycklar har skapats: primär och sekundär. Du kan använda någon av nycklarna och två anges om du behöver ändra primärnyckeln. Du kan växla alla dina klienter till den sekundära nyckeln och återskapa den primära nyckeln. Alla program som använder den ursprungliga primärnyckeln skulle dock blockeras. Microsoft rekommenderar att du regelbundet återskapar nycklarna, ungefär som dina personliga lösenord.

Varning

Dina åtkomstnycklar bör betraktas som konfidentiell information. behandla dem som du skulle ha ett lösenord. Vem som helst som har en åtkomstnyckel kan utföra vilka åtgärder som helst i cacheminnet!