In dit artikel vindt u antwoorden op veelgestelde vragen over het ontwikkelen voor Azure Cache voor Redis.
Hoe kan ik aan de slag met Azure Cache voor Redis?
Er zijn verschillende manieren waarop u aan de slag kunt met Azure Cache voor Redis.
- U kunt een van onze zelfstudies bekijken die beschikbaar zijn voor .NET, ASP.NET, Java, Node.js en Python.
- U kunt kijken hoe u high-performance apps bouwt met behulp van Microsoft Azure Cache voor Redis.
- U kunt de clientdocumentatie bekijken voor de voorbeeldclients die overeenkomen met de ontwikkelingstaal die u in uw project gebruikt. Er zijn veel Redis-clients die kunnen worden gebruikt met Azure Cache voor Redis. Zie voor een lijst met Redis-clients https://redis.io/clients.
Als u nog geen Azure-account hebt, kunt u het volgende doen:
- Gratis een Azure-account openen. U ontvangt tegoed dat kan worden gebruikt om betaalde Azure-services uit te proberen. Zelfs nadat het tegoed is gebruikt, kunt u het account houden en de gratis Azure-services en -functies gebruiken.
- Uw voordelen als Visual Studio-abonnee activeren. Via uw MSDN-abonnement ontvangt u elke maand tegoeden die u voor betaalde Azure-services kunt gebruiken.
Wat doen de configuratieopties stackExchange.Redis?
StackExchange.Redis heeft veel opties. In deze sectie vindt u informatie over enkele algemene instellingen. Zie StackExchange.Redis-configuratie voor meer informatie over de opties StackExchange.Redis.
ConfigurationOptions | Beschrijving | Aanbeveling |
---|---|---|
AbortOnConnectFail | Als deze is ingesteld op true, kan de verbinding niet opnieuw worden gemaakt na een netwerkfout. | Ingesteld op false en laat StackExchange.Redis automatisch opnieuw verbinding maken. |
ConnectRetry | Het aantal keren dat verbindingspogingen moeten worden herhaald tijdens de eerste verbinding. | Zie de volgende opmerkingen voor hulp. |
ConnectTimeout | Time-out in ms voor verbindingsbewerkingen. | Zie de volgende opmerkingen voor hulp. |
Meestal zijn de standaardwaarden van de client voldoende. U kunt de opties verfijnen op basis van uw workload.
Nieuwe pogingen
- Voor ConnectRetry en ConnectTimeout zijn de algemene richtlijnen om snel te mislukken en het opnieuw te proberen. Deze richtlijnen zijn gebaseerd op uw workload en hoeveel tijd--- gemiddeld---it duurt voordat uw client een Redis-opdracht uit te geven en een antwoord ontvangt.
- Laat StackExchange.Redis automatisch opnieuw verbinding maken in plaats van de verbindingsstatus te controleren en uzelf opnieuw te verbinden. Vermijd het gebruik van de eigenschap ConnectionMultiplexer.IsConnected.
- Sneeuwballen: u kunt een probleem ondervinden waarbij u het opnieuw probeert en de nieuwe pogingen sneeuwbal uitvoert en nooit herstelt. Als sneeuwballen optreden, kunt u overwegen een algoritme voor exponentieel uitstel te gebruiken, zoals beschreven in algemene richtlijnen voor opnieuw proberen die zijn gepubliceerd door de groep Microsoft Patterns & Practices.
Time-outwaarden
Houd rekening met uw workload en stel de waarden in die overeenkomen. Als u grote waarden opslaat, stelt u de time-out in op een hogere waarde.
Ingesteld
AbortOnConnectFail
op false en laat StackExchange.Redis opnieuw verbinding maken voor u.Gebruik één exemplaar met een lange levensduur
ConnectionMultiplexer
in plaats van een nieuwe verbinding te maken voor elke aanvraag. Zie deRedisConnection
klasse in Verbinding maken met de cache met behulp van RedisConnection voor een voorbeeld van het beheren van een verbinding.Stel de
ConnectionMultiplexer.ClientName
eigenschap in op een unieke naam voor een app-exemplaar voor diagnostische doeleinden.Gebruik meerdere
ConnectionMultiplexer
exemplaren voor aangepaste workloads.U kunt dit model volgen als u verschillende belastingen in uw toepassing hebt. Voorbeeld:
- U kunt één multiplexer hebben voor het omgaan met grote sleutels.
- U kunt één multiplexer hebben voor het omgaan met kleine sleutels.
- U kunt verschillende waarden instellen voor verbindingstime-outs en logica voor opnieuw proberen voor elk
ConnectionMultiplexer
dat u gebruikt. - Stel de
ClientName
eigenschap voor elke multiplexer in om te helpen met diagnostische gegevens.
Als u deze richtlijnen volgt, kan dit leiden tot meer gestroomlijnde latentie per
ConnectionMultiplexer
.
Welke Azure Cache voor Redis clients kan ik gebruiken?
Een van de geweldige dingen van Redis is dat er veel clients zijn die veel verschillende ontwikkeltalen ondersteunen. Zie Redis-clients voor een huidige lijst met clients. Zie Hoe u Azure Cache voor Redis gebruikt voor zelfstudies die betrekking hebben op verschillende talen en clients.
De hostnaam, poorten en toegangssleutel ophalen
Om verbinding te maken met uw Azure Cache voor Redis-server, heeft de cacheclient de hostnaam, poorten en een toegangssleutel van de cache nodig. Sommige clients kunnen naar deze items verwijzen door iets andere namen te gebruiken. U kunt de hostnaam, poorten en sleutels ophalen in Azure Portal.
Ga als volgende te werk om een toegangssleutel voor uw cache op te halen:
- Ga in Azure Portal naar uw cache.
- Selecteer Verificatie in het servicemenu onder Instellingen.
- Selecteer in het deelvenster Verificatie het tabblad Toegangssleutels .
- Als u de waarde voor een toegangssleutel wilt kopiëren, selecteert u het pictogram Kopiëren in het sleutelveld.
Ga als volgende te werk om de hostnaam en poorten voor uw cache op te halen:
- Ga in Azure Portal naar uw cache.
- Selecteer Overzicht in het servicemenu.
- Selecteer onder Essentials voor Hostnaam het pictogram Kopiëren om de waarde van de hostnaam te kopiëren. De waarde van de hostnaam heeft het formulier
<DNS name>.redis.cache.windows.net
. - Selecteer voor Poorten het pictogram Kopiëren om de poortwaarden te kopiëren.
Is er een lokale emulator voor Azure Cache voor Redis?
Er is geen lokale emulator voor Azure Cache voor Redis. U kunt echter een kopie van community Redis uitvoeren op uw lokale computer en er verbinding mee maken om een vergelijkbare ervaring te krijgen met een lokale cacheemulator, zoals wordt weergegeven in het volgende voorbeeld:
private static Lazy<ConnectionMultiplexer>
lazyConnection = new Lazy<ConnectionMultiplexer> (() =>
{
// Connect to a locally running instance of Redis to simulate
// a local cache emulator experience.
return ConnectionMultiplexer.Connect("127.0.0.1:6379");
});
public static ConnectionMultiplexer Connection
{
get
{
return lazyConnection.Value;
}
}
Redis wordt systeemeigen uitgevoerd op Linux, maar u kunt ook Windows-subsysteem voor Linux gebruiken om Redis uit te voeren op een Windows-computer. Zie Redis installeren in Windows. Desgewenst kunt u een redis.conf-bestand zo configureren dat deze beter overeenkomt met de standaard-cache-instellingen voor uw online Azure Cache voor Redis.
Hoe kan ik Redis-opdrachten uitvoeren?
U kunt een van de opdrachten in Redis-opdrachten gebruiken, met uitzondering van de opdrachten die worden vermeld bij Redis-opdrachten die niet worden ondersteund in Azure Cache voor Redis. U hebt verschillende opties om Redis-opdrachten uit te voeren.
Als u een Standard- of Premium-cache hebt, kunt u Redis-opdrachten uitvoeren met behulp van de Redis-console. De Redis-console biedt een veilige manier om Redis-opdrachten uit te voeren in Azure Portal.
U kunt ook de opdrachtregelprogramma's van Redis gebruiken. Zie Het opdrachtregelprogramma Redis gebruiken met Azure Cache voor Redis
Waarom beschikt Azure Cache voor Redis niet over een MSDN-klassebibliotheekreferentie?
Microsoft Azure Cache voor Redis is gebaseerd op het populaire opensource-gegevensarchief in het geheugen, Redis. U kunt een groot aantal Redis-clients gebruiken voor veel programmeertalen. Elke client heeft een eigen API die aanroept naar het Azure Cache voor Redis exemplaar met behulp van Redis-opdrachten.
Omdat elke client anders is, kunt u geen gecentraliseerde klassereferentie vinden op MSDN. Elke client onderhoudt zijn eigen referentiedocumentatie. Naast de referentiedocumentatie zijn er verschillende zelfstudies die laten zien hoe u aan de slag kunt met Azure Cache voor Redis met behulp van verschillende talen en cacheclients. Voor toegang tot deze zelfstudies raadpleegt u Hoe u Azure Cache voor Redis en de artikelen op hetzelfde niveau in de inhoudsopgave kunt gebruiken.
Kan ik Azure Cache voor Redis gebruiken als een PHP-sessiecache?
Ja, als u Azure Cache voor Redis wilt gebruiken als een PHP-sessiecache, geeft u de verbindingsreeks op uw Azure Cache voor Redis exemplaar insession.save_path
.
Belangrijk
Wanneer u Azure Cache voor Redis gebruikt als een PHP-sessiecache, moet u de beveiligingssleutel die wordt gebruikt om verbinding te maken met de cache, urlcoderen, zoals wordt weergegeven in het volgende voorbeeld:
session.save_path = "tcp://mycache.redis.cache.windows.net:6379?auth=<url encoded primary or secondary key here>";
Als de sleutel niet is gecodeerd met url's, ontvangt u mogelijk een uitzondering met een bericht zoals: Failed to parse session.save_path
Zie de PHP-sessiehandler voor meer informatie over het gebruik van Azure Cache voor Redis als php-sessiecache met de PhpRedis-client.
Wat zijn Redis-databases?
Redis-databases zijn slechts een logische scheiding van gegevens binnen hetzelfde Redis-exemplaar. Het cachegeheugen wordt gedeeld tussen alle databases en het werkelijke geheugenverbruik van een bepaalde database is afhankelijk van de sleutels/waarden die in die database zijn opgeslagen. Een C6-cache heeft bijvoorbeeld 53 GB geheugen en een P5 heeft 120 GB. U kunt ervoor kiezen om alle 53 GB /120 GB in één database te plaatsen of u kunt deze opsplitsen tussen meerdere databases.
Notitie
Wanneer u een Premium-Azure Cache voor Redis gebruikt waarvoor clustering is ingeschakeld, is alleen database 0 beschikbaar. Deze beperking is een intrinsieke Redis-beperking en is niet specifiek voor Azure Cache voor Redis.
Gerelateerde inhoud
Meer informatie over andere Azure Cache voor Redis veelgestelde vragen.