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"
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
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
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.exezu 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.