Vanliga frågor och svar om utveckling för Azure Cache for Redis

Den här artikeln innehåller svar på vanliga frågor om hur du utvecklar för Azure Cache for Redis.

Hur kommer jag igång med Azure Cache for Redis?

Det finns flera sätt att komma igång med Azure Cache for Redis.

Om du inte redan har ett Azure-konto kan du:

Vad gör konfigurationsalternativen StackExchange.Redis?

StackExchange.Redis har många alternativ. I det här avsnittet beskrivs några av de vanliga inställningarna. Mer detaljerad information om StackExchange.Redis-alternativ finns i StackExchange.Redis-konfiguration.

ConfigurationOptions beskrivning Rekommendation
AbortOn Anslut Fail När värdet är true kan anslutningen inte återansluta efter ett nätverksfel. Ange till false och låt StackExchange.Redis återansluta automatiskt.
ConnectRetry Antal gånger som anslutningsförsök ska upprepas under den första anslutningen. Se följande anteckningar för vägledning.
ConnectTimeout Tidsgräns i ms för anslutningsåtgärder. Se följande anteckningar för vägledning.

Vanligtvis räcker standardvärdena för klienten. Du kan finjustera alternativen baserat på din arbetsbelastning.

Försök

  • För Anslut Retry och Anslut Timeout är den allmänna vägledningen att misslyckas snabbt och försöka igen. Den här vägledningen baseras på din arbetsbelastning och hur lång tid--- i genomsnitt---det tar för klienten att utfärda ett Redis-kommando och få ett svar.
  • Låt StackExchange.Redis automatiskt återansluta i stället för att kontrollera anslutningsstatus och återansluta dig själv. Undvik att använda egenskapen Anslut ionMultiplexer.Is Anslut ed.
  • Snöboll – du kan stöta på ett problem där du försöker igen och återförsöken snöboll och aldrig återhämta sig. Om det uppstår snöboll bör du överväga att använda en exponentiell algoritm för återförsök av backoff enligt beskrivningen i Retry allmän vägledning publicerad av gruppen Microsoft Patterns &Practices.

Tidsgränsvärden

  • Överväg din arbetsbelastning och ange de värden som ska matchas. Om du lagrar stora värden anger du tidsgränsen till ett högre värde.
  • Ställ in AbortOnConnectFail på false och låt StackExchange.Redis återansluta åt dig.
  • Använd en enda, långlivad ConnectionMultiplexer instans i stället för att skapa en ny anslutning för varje begäran. Ett exempel på hur du hanterar en anslutning finns i klassen "Redis Anslut ion" i Anslut till cachen med Redis Anslut ion.
  • Ange egenskapen ConnectionMultiplexer.ClientName till ett unikt namn för en appinstans för diagnostiska ändamål.
  • Använd flera ConnectionMultiplexer instanser för anpassade arbetsbelastningar.
    • Du kan följa den här modellen om du har varierande belastning i ditt program. Till exempel:
    • Du kan ha en multiplexer för att hantera stora nycklar.
    • Du kan ha en multiplexer för att hantera små nycklar.
    • Du kan ange olika värden för tidsgränser för anslutningar och försöka logik igen för varje Anslut ionMultiplexer som du använder.
    • Ange egenskapen för ClientName varje multiplexer som hjälp med diagnostik.
    • Den här vägledningen kan leda till mer effektiva svarstider per ConnectionMultiplexer.

Vilka Azure Cache for Redis-klienter kan jag använda?

En av de stora sakerna med Redis är att det finns många klienter som stöder många olika utvecklingsspråk. En aktuell lista över klienter finns i Redis-klienter. Självstudier som omfattar flera olika språk och klienter finns i Så här använder du Azure Cache for Redis.

Hämta värdnamn, portar och åtkomstnycklar från Azure-portalen

För att ansluta din Azure Cache for Redis-server behöver cacheklienten värdnamnet, portarna och en nyckel för cachen. Vissa klienter kan hänvisa till dessa objekt med namn som skiljer sig något. Du kan hämta värdnamnet, portarna och nycklarna från Azure-portalen.

  • Om du vill hämta åtkomstnycklarna väljer du Autentisering på resursmenyn. Välj sedan fliken Åtkomstnycklar .

    Nycklar för Azure Cache for Redis

  • Om du vill hämta värdnamnet och portarna för cacheminnet väljer du Översikt på resursmenyn. Värdnamnet är av formatet DNS name.redis.cache.windows.net>.<

    Egenskaper för Azure Cache for Redis

Finns det en lokal emulator för Azure Cache for Redis?

Det finns ingen lokal emulator för Azure Cache for Redis. Du kan köra MSOpenTech-versionen av redis-server.exe från Redis kommandoradsverktyg på den lokala datorn. Anslut sedan till den för att få en liknande upplevelse som en lokal cacheemulator, som du ser i följande exempel:

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;
    }
}

Du kan också konfigurera en redis.conf-fil så att den bättre matchar standardcacheinställningarna för din Online Azure Cache for Redis om du vill.

Hur kan jag köra Redis-kommandon?

Du kan använda något av kommandona som anges i Redis-kommandon förutom de kommandon som anges i Redis-kommandon som inte stöds i Azure Cache for Redis. Du har flera alternativ för att köra Redis-kommandon.

Om du har en Standard- eller Premium-cache kan du köra Redis-kommandon med Hjälp av Redis-konsolen. Redis-konsolen är ett säkert sätt att köra Redis-kommandon på Azure-portalen.

Du kan också använda redis-kommandoradsverktygen. Gör följande för att använda dem:

  1. Ladda ned redis-kommandoradsverktygen.

  2. Anslut till cachen med hjälp av redis-cli.exe.

  3. Skicka in cacheslutpunkten med växeln -h och nyckeln med -a som du ser i följande exempel:

    redis-cli -h <Azure Cache for Redis name>.redis.cache.windows.net -a <key>

Kommentar

Redis-kommandoradsverktyg fungerar inte med TLS-porten, men du kan använda ett verktyg som till exempel stunnel för att ansluta verktygen till TLS-porten på ett säkert sätt genom att följa anvisningarna i artikeln Så här använder du redis-kommandoradsverktyget med Azure Cache for Redis .

Varför har inte Azure Cache for Redis en referens för MSDN-klassbiblioteket?

Microsoft Azure Cache for Redis baseras på det populära datalagret Med öppen källkod i minnet, Redis. Du kan använda en mängd olika Redis-klienter för många programmeringsspråk. Varje klient har ett eget API som anropar Azure Cache for Redis-instansen med hjälp av Redis-kommandon.

Eftersom varje klient är annorlunda kan du inte hitta en centraliserad klassreferens på MSDN. Varje klient har en egen referensdokumentation. Förutom referensdokumentationen finns det flera självstudier som visar hur du kommer igång med Azure Cache for Redis med olika språk och cacheklienter. Information om hur du kommer åt de här självstudierna finns i Så här använder du Azure Cache for Redis och dess syskonartiklar i innehållsförteckningen.

Kan jag använda Azure Cache for Redis som en PHP-sessionscache?

Ja, om du vill använda Azure Cache for Redis som en PHP-sessionscache anger du anslutningssträng till Din Azure Cache for Redis-instans i session.save_path.

Viktigt!

När du använder Azure Cache for Redis som en PHP-sessionscache måste du URL-koda säkerhetsnyckeln som används för att ansluta till cachen, som du ser i följande exempel:

session.save_path = "tcp://mycache.redis.cache.windows.net:6379?auth=<url encoded primary or secondary key here>";

Om nyckeln inte är URL-kodad kan du få ett undantag med ett meddelande som: Failed to parse session.save_path

Mer information om hur du använder Azure Cache for Redis som en PHP-sessionscache med PhpRedis-klienten finns i PHP-sessionshanteraren.

Vad är Redis-databaser?

Redis-databaser är bara en logisk uppdelning av data i samma Redis-instans. Cacheminnet delas mellan alla databaser och den faktiska minnesförbrukningen för en viss databas beror på de nycklar/värden som lagras i databasen. Till exempel har en C6-cache 53 GB minne och en P5 har 120 GB. Du kan välja att placera alla 53 GB/120 GB i en databas eller dela upp den mellan flera databaser.

Kommentar

När du använder en Premium Azure Cache for Redis med klustring aktiverat är endast databas 0 tillgänglig. Den här begränsningen är en inbyggd Redis-begränsning och är inte specifik för Azure Cache for Redis.

Läs mer om andra vanliga frågor och svar om Azure Cache for Redis.