Azure Cache voor Redis veelgestelde vragen over ontwikkeling

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.

Als u nog geen Azure-account hebt, kunt u het volgende doen:

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
AbortOn Verbinding maken Fail 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 Verbinding maken Retry en Verbinding maken Timeout is 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 Verbinding maken ionMultiplexer.Is Verbinding maken ed.
    • 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 de klasse 'Redis Verbinding maken ion' in Verbinding maken met Redis Verbinding maken ion 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 belasting 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 elke Verbinding maken ionMultiplexer die u gebruikt.
      • Stel de ClientName eigenschap voor elke multiplexer in om te helpen met diagnostische gegevens.
      • Deze richtlijnen kunnen 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.

Hostnaam, poorten en toegangssleutels ophalen uit Azure Portal

Om verbinding te maken met uw Azure Cache voor Redis-server, heeft de cacheclient de hostnaam, poorten en een sleutel voor de cache nodig. Sommige clients kunnen enigszins andere namen gebruiken om naar deze items te verwijzen. U kunt de hostnaam, poorten en toegangssleutels ophalen uit Azure Portal.

  • Als u de toegangssleutels wilt ophalen, selecteert u in de linkernavigatie van de cache de optie Toegangssleutels.

    Sleutels van Azure Cache voor Redis

  • Als u de hostnaam en poorten wilt ophalen, selecteert u in de linkernavigatie van de cache de optie Eigenschappen. De hostnaam is van de dns-naam> van het formulier.redis.cache.windows.net<.

    Eigenschappen van Azure Cache voor Redis

Is er een lokale emulator voor Azure Cache voor Redis?

Er is geen lokale emulator voor Azure Cache voor Redis. U kunt de MSOpenTech-versie van redis-server.exe uitvoeren vanuit de Opdrachtregelprogramma's van Redis op uw lokale computer. Maak er vervolgens verbinding mee 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;
    }
}

U kunt desgewenst een redis.conf-bestand zo configureren dat deze beter overeenkomt met de standaardcache-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. Voer de volgende stappen uit om ze te gebruiken:
  • Download de Redis-opdrachtregelprogramma's.
  • Verbinding maken naar de cache met behulp van redis-cli.exe. Geef het cache-eindpunt door met behulp van de switch -h en de sleutel met behulp van -a, zoals wordt weergegeven in het volgende voorbeeld:
  • redis-cli -h <Azure Cache for Redis name>.redis.cache.windows.net -a <key>

Notitie

De Redis-opdrachtregelprogramma's werken niet met de TLS-poort, maar u kunt een hulpprogramma gebruiken, zoals stunnel het veilig verbinden van de hulpprogramma's met de TLS-poort door de instructies in het redis-opdrachtregelprogramma te volgen met Azure Cache voor Redis artikel.

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. Het kan worden geopend door een groot aantal Redis-clients 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 geen URL is gecodeerd, 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.

Volgende stappen

Meer informatie over andere Azure Cache voor Redis veelgestelde vragen.