Den här artikeln innehåller svar på vanliga frågor om hur du utvecklar för Azure Managed Redis (förhandsversion).
Hur kommer jag igång med Azure Managed Redis (förhandsversion)?
Det finns flera sätt att komma igång med Azure Managed Redis (förhandsversion).
- Du kan kolla in någon av våra självstudier för .NET, ASP.NET, Java, Node.js och Python.
- Du kan utforska Utbildningsvägar för Azure Redis
- Du kan läsa klientdokumentationen för de exempelklienter som matchar det utvecklingsspråk som du använder i projektet. Det finns många Redis-klienter som kan användas med Azure Managed Redis. En lista över Redis-klienter finns i https://redis.io/clients.
Om du inte redan har ett Azure-konto kan du:
- Öppna ett Azure-konto kostnadsfritt. Du får kredit som kan användas för att prova Azure-tjänster som normalt inte är kostnadsfria. Du kan behålla kontot även efter att krediten är slut och använda kostnadsfria Azure-tjänster och -funktioner.
- Aktivera Visual Studio-prenumerantförmåner. Din MSDN-prenumeration ger dig krediter varje månad som kan användas för Azure-betaltjänster.
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 |
---|---|---|
AbortOnConnectFail | 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 ConnectRetry och ConnectTimeout ä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 ConnectionMultiplexer.IsConnected.
- 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. - 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 ConnectionMultiplexer 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 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 Managed Redis.
Finns det en lokal emulator för Azure Managed Redis?
Det finns ingen lokal emulator för Azure Managed Redis. Du kan dock köra en kopia av Community Redis på din lokala dator och ansluta 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;
}
}
Redis körs internt på Linux, men du kan också använda Windows-undersystem för Linux för att köra Redis på en Windows-dator. Mer information finns i Installera Redis i Windows
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 Managed Redis. Du har flera alternativ för att köra Redis-kommandon.
Du kan också använda redis-kommandoradsverktygen. Information om hur du använder dem finns i Använda redis-kommandoradsverktyget med Azure Managed Redis
Varför har inte Azure Managed Redis en referens för MSDN-klassbiblioteket?
Microsoft Azure Managed Redis baseras på det populära minnesinterna datalagret 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 Managed 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 Managed 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 Managed Redis och dess syskonartiklar i innehållsförteckningen.
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. Just nu stöder Azure Managed Redis bara en databas per instans.
Relaterat innehåll
Läs mer om andra vanliga frågor och svar om Azure Managed Redis.