Zum Hauptinhalt springen

Erstellen und Testen

Aus Quellen klonen

Klonen Sie das Garnet-Repository. Garnet befindet sich im Hauptbranch dieses Repositories.

git clone git@github.com:microsoft/garnet.git

Projekt erstellen

Stellen Sie sicher, dass .NET 8 installiert ist, befolgen Sie die Anweisungen hier. Sie können entweder Linux oder Windows verwenden; Garnet funktioniert auf beiden Plattformen gleichermaßen gut.

Wechseln Sie in den Stammordner des Repositories und erstellen Sie es mit dotnet, oder öffnen Sie Garnet.sln und erstellen Sie es mit Visual Studio 2022 (wir empfehlen die Vorschauversion für die neuesten Funktionen). Stellen Sie sicher, dass Visual Studio auf dem neuesten Stand ist, indem Sie nach Updates suchen.

cd garnet
dotnet restore
dotnet build -c Release

Führen Sie unsere Testsuite aus

Als grundlegende Überprüfung können Sie unsere Testsuite ausführen. Der Befehl zum Ausführen von Tests im Release-Modus für .NET 8 mit ausführlicher Ausgabe auf der Konsole wird unten gezeigt (stellen Sie sicher, dass Sie sich im Stammordner des Repositories befinden).

dotnet test -c Release -f net8.0 -l "console;verbosity=detailed"
Tipp

Tests, die Azure Cloud Storage verwenden, werden übersprungen, es sei denn, Sie setzen die Umgebungsvariable RunAzureTests auf yes und Azurite läuft.

Garnet-Server bereitstellen

Jetzt sind Sie bereit, den Garnet-Server bereitzustellen. Das ist einfach, führen Sie das Folgende aus

cd main/GarnetServer
dotnet run -c Release -f net8.0
Tipp

Standardmäßig lauscht Garnet auf TCP-Port 6379. Stellen Sie sicher, dass Sie Ihre Firewall-Einstellungen anpassen, wenn Sie von Remote-Maschinen auf den Server zugreifen müssen. Beachten Sie auch, dass Garnet standardmäßig auf den Endpunkten IPAddress.Any und IPAddress.IPv6Any lauscht. Bitte passen Sie diese entsprechend Ihren Anforderungen an.

Um die konfigurierbaren Optionen und ihre Standardwerte anzuzeigen, führen Sie den folgenden Befehl aus. Sie können Indexgröße, Speichergröße, Seitengröße, Daten- und Prüfpfadpfade, IP-Adresse für die Bindung, Portnummer für die Ausführung usw. konfigurieren.

dotnet run -c Release -f net8.0 -- --help
Tipp

Um den Server mit einer Indexgröße von 512 MB (anstelle des Standardwerts) auszuführen, führen Sie dies aus

dotnet run -c Release -f net8.0 -- -i 512m

Verbinden mit einem RESP-Client

Garnet verwendet das RESP-Protokoll, sodass Sie jeden Redis-Client in Ihrer bevorzugten Client-Sprache verwenden können, um mit dem Garnet-Server zu kommunizieren. Für C#-Anwendungen können Sie entweder StackExchange.Redis oder unseren eigenen C#-Client namens GarnetClient verwenden.

Unter Windows können Sie RedisInsight verwenden, das über eine grafische Benutzeroberfläche und eine CLI verfügt, oder Memurai (das Redis unter Windows anbietet) installieren und deren Befehlszeilentool memurai-cli verwenden. Sie können auch redis-cli unter WSL mit der folgenden Konfiguration verwenden.

  • Starten Sie GarnetServer unter Windows und lauschen Sie auf 0.0.0.0 (IPAddress.Any). Verwenden Sie bei Bedarf das Argument --bind 0.0.0.0.
  • Fügen Sie GarnetServer.exe zu den Firewall-Ausnahmen hinzu (Windows Defender Firewall -> Eine App durch die Windows-Firewall zulassen)
  • Unter WSL rufen Sie die Host-IP-Adresse mit ip route show | grep -i default | awk '{ print $3}' ab
  • Verbinden Sie sich von WSL mit redis-cli -h <address>

Wenn das obige Verfahren keine Verbindung von WSL herstellt, können Sie versuchen, den gespiegelten Netzwerkmodus zu verwenden, der in Windows 11 22H2 oder neuer verfügbar ist.

Stellen Sie mit einem dieser Clients sicher, dass Sie beim Verbinden mit einem Garnet-Server den richtigen Port (z. B. 6379) verwenden.