Dieser Artikel bietet Antworten auf häufig gestellte Fragen zur Entwicklung von Azure Managed Redis (Vorschau).
Erste Schritte mit Azure Managed Redis (Vorschau)
Es gibt verschiedene Möglichkeiten, mit Azure Managed Redis (Vorschau) zu starten.
- Sie können sich eines unserer Tutorials ansehen, verfügbar für .NET, ASP.NET, Java, Node.js und Python.
- Sie können die Azure Redis-Lernpfade kennenlernen
- Sie können sich in der Clientdokumentation die Informationen zu den Beispielclients ansehen, die der in Ihrem Projekt verwendeten Entwicklersprache entsprechen. Es gibt viele Redis-Clients, die mit Azure Managed Redis verwendet werden können. Eine Liste der Redis-Clients finden Sie unter https://redis.io/clients.
Wenn Sie noch kein Azure-Konto besitzen, haben Sie folgende Möglichkeiten:
- Kostenloses Anlegen eines Azure-Kontos. Sie erhalten ein Guthaben, mit dem Sie andere kostenpflichtige Azure-Dienste ausprobieren können. Auch nachdem Sie das Guthaben aufgebraucht haben, können Sie das Konto behalten und kostenlose Azure-Dienste und -Features nutzen.
- Aktivieren Sie Visual Studio-Abonnementvorteile. Ihr MSDN-Abonnement beinhaltet ein monatliches Guthaben, das Sie für zahlungspflichtige Azure-Dienste verwenden können.
Was bewirken die Konfigurationsoptionen für "StackExchange.Redis"?
Für "StackExchange.Redis" stehen zahlreiche Optionen zur Verfügung. In diesem Abschnitt werden einige der gängigsten Optionen erläutert. Ausführlichere Informationen zu den StackExchange.Redis-Optionen finden Sie unter StackExchange.Redis-Konfiguration.
ConfigurationOptions | BESCHREIBUNG | Empfehlung |
---|---|---|
AbortOnConnectFail | Wenn Sie diese Option auf „true“ festlegen, kann die Verbindung nach einem Netzwerkausfall nicht wiederhergestellt werden. | Bei Festlegung auf "false" kann "StackExchange.Redis" die Verbindung automatisch wiederherstellen. |
ConnectRetry | Die Anzahl von Versuchen für die Verbindungsherstellung bei der anfänglichen Verbindung. | Die folgenden Informationen bieten eine Orientierung. |
ConnectTimeout | Timeout in Millisekunden für Verbindungsvorgänge. | Die folgenden Informationen bieten eine Orientierung. |
In der Regel reichen die Standardwerte des Clients aus. Sie können die Optionen basierend auf Ihrer Workload optimieren.
Wiederholungsversuche
- Für „ConnectRetry“ und „ConnectTimeout“ lautet die allgemeine Empfehlung, Fail-Fast-fähig zu sein und den Vorgang zu wiederholen. Diese Empfehlung hängt von Ihrer Workload und davon ab, wie lange es auf Ihrem Client (im Durchschnitt) dauert, einen Redis-Befehl auszuführen und eine Antwort zu erhalten.
- Ermöglichen Sie eine automatische Neuverbindung durch "StackExchange.Redis", statt die Prüfung des Verbindungsstatus und die erneute Verbindungsherstellung selbst zu prüfen. Vermeiden Sie die Verwendung der ConnectionMultiplexer.IsConnected-Eigenschaft.
- Schneeballeffekt: Ggf. kann ein Problem auftreten, bei dem Wiederholungsversuche zu einem Schneeballeffekt führen, der sich nicht stoppen lässt. Erwägen Sie beim Auftreten dieses Schneeballeffekts die Verwendung eines Wiederholungsalgorithmus vom Typ „Exponentielles Backoff“. Dies ist im allgemeinen Leitfaden zum Wiederholen von Vorgängen der Microsoft Patterns & Practices-Gruppe beschrieben.
Timeoutwerte
- Legen Sie die Werte unter Berücksichtigung Ihrer Workload entsprechend fest. Legen Sie die Timeouteinstellung auf einen höheren Wert fest, wenn Sie große Werte speichern.
- Legen Sie
AbortOnConnectFail
auf „false“ fest, und überlassen Sie StackExchange.Redis die erneute Verbindungsherstellung. - Verwenden Sie eine einzelne, langlebige
ConnectionMultiplexer
-Instanz, anstatt eine neue Verbindung für jede Anforderung zu erstellen. Ein Beispiel für das Verwalten einer Verbindung finden Sie unter der RedisConnection-Klasse unter Verbinden mit dem Cache mit RedisConnection. - Legen Sie die
ConnectionMultiplexer.ClientName
-Eigenschaft zu Diagnosezwecken auf einen eindeutigen App-Instanznamen fest. - Verwenden Sie für benutzerdefinierte Workloads mehrere
ConnectionMultiplexer
-Instanzen.- Sie können diesem Modell folgen, wenn die Last in Ihrer Anwendung variiert. Beispiel:
- Sie können einen Multiplexer zur Verarbeitung großer Schlüssel verwenden.
- Sie können einen Multiplexer zur Verarbeitung kleiner Schlüssel verwenden.
- Sie können verschiedene Werte für Verbindungstimeouts und eine retry-Logik für jede verwendete ConnectionMultiplexer-Instanz verwenden.
- Legen Sie die
ClientName
-Eigenschaft für jeden Multiplexer fest, um die Diagnose zu vereinfachen. - Diese Empfehlung kann zu einer optimierten Latenz pro
ConnectionMultiplexer
führen.
Welche Redis-Clients kann ich verwenden?
Einer der großen Vorteile von Redis ist, dass es viele Clients gibt, die viele verschiedene Programmiersprachen unterstützen. Eine aktuelle Liste von Clients finden Sie unter Redis-Clients. Informationen zu Tutorials, die mehrere unterschiedliche Sprachen und Clients abdecken, finden Sie unter Schnellstart: Verwenden von Azure Managed Redis mit .NET Framework.
Gibt es einen lokalen Emulator für Azure Managed Redis?
Es gibt keinen lokalen Emulator für Azure Managed Redis. Sie können jedoch eine Kopie von Community Redis auf Ihrem lokalen Computer ausführen und eine Verbindung damit herstellen, um eine ähnliche Erfahrung mit einem lokalen Cache-Emulator zu erhalten, wie im folgenden Beispiel gezeigt:
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 wird nativ unter Linux ausgeführt, Sie können aber auch das Windows-Subsystem für Linux verwenden, um Redis auf einem Windows-Computer auszuführen. Weitere Informationen finden Sie unter Installieren von Redis unter Windows
Wie führe ich Redis-Befehle aus?
Sie können alle aufgelisteten Redis-Befehle mit Ausnahme der Befehle verwenden, die unter Redis-Befehle, die in Azure Managed Redis nicht unterstützt werden aufgeführt sind. Für die Ausführung von Redis-Befehlen haben Sie mehrere Optionen.
Sie können auch die Redis-Befehlszeilentools verwenden. Informationen zur Verwendung finden Sie unter Verwenden des Befehlszeilentools „Redis“ mit Azure Managed Redis
Warum gibt es für Azure Managed Redis keinen MSDN-Klassenbibliothekverweis?
Microsoft Azure Managed Redis basiert auf Redis, einem beliebten In-Memory-Datenspeicher. Sie können eine Vielzahl von Redis-Clients für viele Programmiersprachen verwenden. Jeder Client verfügt über eine eigene API, die unter Verwendung von Redis-Befehlen Aufrufe an den Azure Managed Redis sendet.
Da sich die Clients jeweils unterscheiden, finden Sie unter MSDN keine zentrale Klassenreferenz. Für jeden Client wird eine eigene Referenzdokumentation geführt. Zusätzlich zur Referenzdokumentation gibt es mehrere Tutorials, die Ihnen den Einstieg in die Verwendung von Azure Managed Redis mit verschiedenen Sprachen und Cacheclients erleichtern. Sie können unter Verwenden von Azure Managed Redis und in den zugehörigen Artikeln im Inhaltsverzeichnis auf diese Tutorials zugreifen.
Was sind Redis-Datenbanken?
Redis-Datenbanken sind einfach eine logische Trennung von Daten innerhalb der gleichen Redis-Instanz. Der Cachespeicher wird von allen Datenbanken gemeinsam genutzt, und die tatsächliche Arbeitsspeichernutzung einer bestimmten Datenbank richtet sich nach den in dieser Datenbank gespeicherten Schlüsseln bzw. Werten. Derzeit unterstützt Azure Managed Redis nur eine Datenbank pro Instanz.
Zugehöriger Inhalt
Erfahren Sie mehr über weitere häufig gestellte Fragen zu Azure Managed Redis.