Redis ist ein In-Memory-Datenstrukturspeicher, der häufig für Caching, Echtzeitanalysen und Nachrichtenvermittlung verwendet wird. Aufgrund seiner blitzschnellen Geschwindigkeit und seines umfangreichen Funktionsumfangs ist es eine beliebte Wahl für Entwickler.
Redis unterstützt viele Datenstrukturen, darunter Strings, Hashes, Listen, Sammlungen und sortierte Sätze. Es bietet auch integrierte Publish/Subscribe-Messaging-Unterstützung, Transaktionsunterstützung und Lua-Skripting.
Es gibt mehrere beliebte Redis-Clients für Go-Entwickler, jeder mit einzigartigen Merkmalen und Funktionen. Die folgenden drei Redis-Clients sind die beliebtesten unter Go-Entwicklern.
1. Das go-redis-Paket
Der go-redis Paket ist eine beliebte Go-Client-Bibliothek für die Redis-Datenbank. Es bietet eine einfache, benutzerfreundliche API für die Interaktion mit Redis, und das Paket unterstützt alle Redis-Befehle.
Das Paket go-redis ist bei Go-Entwicklern aufgrund seiner Leistung, Zuverlässigkeit und benutzerfreundlichen Oberfläche beliebt. Sie finden das Paket nützlich für die Funktionalität von Sitzungsverwaltung zu Caching, Message Queuing und mehr.
Führen Sie diesen Befehl im Terminal Ihres Projektverzeichnisses aus, um das go-redis-Paket zu installieren.
gehen Holen Sie sich github.com/gehen-redis/redis
So können Sie das go-redis-Paket in Ihr Projekt importieren.
importieren (
"fmt"
"github.com/go-redis/redis"
)
Das Instanziieren einer neuen Verbindung zu einer Redis-Datenbank mit dem go-redis-Paket ist einfach. Sie verwenden die Neuer Kunde Methode der redis Paket, das die akzeptiert Optionen struct mit den Konfigurationsdetails.
Funkhauptsächlich() {
client := redis. NeuerKunde(&redis. Optionen{
Adresse: "lokaler Host: 6379",
Passwort: " ", // kein Passwort gesetzt
})
}
Im hauptsächlich Funktion, die Klient Variable ist die Verbindungsinstanz des Redis-Clients. Sie können die initialisieren Optionen Struktur mit Adr Und Passwort Felder, die die Datenbankadresse bzw. das Passwort enthalten.
Beim Erstellen einer Redis-Clientinstanz können Sie die Datenbank anpingen, um Ihre Verbindung mit der zu überprüfen Klingeln Methode. Du kannst den... benutzen Ergebnis -Methode auf der Ping-Methode, die den Status und einen Fehler zurückgibt.
pong, äh := Kunde. Ping().Ergebnis()Wenn äh != Null {
fmt. Println (err)
zurückkehren
}
fmt. Println (pong, err)
Sie können Ihrer Datenbank ein Schlüssel-Wert-Paar mit hinzufügen Satz Methode Ihrer Clientinstanz. Verwendung der Irren -Methode für eine Operation gibt einen Fehler zurück, den Sie behandeln können.
// Setze einen Schlüssel
Fehler = Kunde. Satz("Taste", "Wert", 0).Irren()
Wenn äh != Null {
fmt. Println (err)
zurückkehren
}
Sie können mit dem Schlüssel einen Wert aus der Datenbank abrufen Erhalten Methode Ihrer Clientinstanz. Verwendung der Ergebnis -Methode für eine Operation gibt das Ergebnis der Operation und einen Fehler zurück.
// Holen Sie sich einen Schlüssel
val, err := Kunde. Erhalten("Taste").Ergebnis()Wenn äh != Null {
fmt. Println (err)
zurückkehren
}
fmt. Println("Taste", Wert)
2. Das Radix-Paket
Der Radix package ist eine Bibliothek, die einen Client für den In-Memory-Datenstrukturspeicher von Redis bereitstellt. Das Radix-Paket abstrahiert das Redigo-Paket, um eine benutzerfreundliche API für die Interaktion mit Redis bereitzustellen.
Das Radix-Paket bietet Unterstützung für alle Redis-Befehle, einschließlich Lua-Skripting und Pub/Sub, Verbindungspooling und automatische Wiederverbindungen, die einen effizienten und stabilen Betrieb mit Redis ermöglichen, Unterstützung für Redis-Cluster mit transparentem Sharding und Failover sowie einem schlanken, effizienten Design, das niedrige und hohe Latenzzeiten ermöglicht Durchsatz.
Sie werden das Radix-Paket sehr nützlich finden, wenn Sie Ihren Go-Projekten seit dem schnelle Redis-Unterstützung hinzufügen möchten Das Paket abstrahiert die zugrunde liegende Komplexität des Redis-Protokolls und macht Caching, Sitzungsverwaltung und Nachrichtenwarteschlangen Einfacher.
Führen Sie diesen Befehl aus, um das Radix-Paket Version 3 in Ihrem Projektarbeitsverzeichnis zu installieren.
gehen Holen Sie sich github.com/mediocregopher/radix/v3
So können Sie die importieren Radix Paket in Ihrem Programm.
importieren (
"fmt"
"github.com/mediocregopher/radix/v3"
)
Du kannst den... benutzen Wählen Methode der Wurzel -Paket, um eine Verbindung zu einem Redis-Server herzustellen. Der Wählen -Methode akzeptiert den Verbindungstyp und die Adresse des Redis-Servers und gibt eine Verbindungsinstanz und einen Fehler zurück.
Funkhauptsächlich() {
// Verbindung zum Redis-Server herstellen
conn, ähm := wurzel. Wählen("TCP", "lokaler Host: 6379")Wenn äh != Null {
fmt. Println (err)
zurückkehren
}
verschieben Anschluss Schließen()
}
In der Hauptfunktion haben Sie eine Redis-Verbindungsinstanz mit der erstellt Wählen Methode und schloss die Verbindung mit der Schließen Methode und a verschieben Stellungnahme.
Sie können Redis-Befehle mit ausführen Bef Methode der Wurzel Paket. Der Bef Die Methode akzeptiert eine Schnittstelle, einen Befehl und die Werte des Befehls.
Fehler = Anschl. Mach (radix. Befehl (Null, "SATZ", "mein Schlüssel", "meinwert"))
Wenn äh != Null {
fmt. Println("Fehlereinstellungstaste: ", irren)
} anders {
fmt. Println("Schlüssel erfolgreich gesetzt")
}
Der Tun -Methode umschließt die Operation und gibt einen Fehler zurück.
Ebenso können Sie mit dem Werte aus Ihrer Datenbank abrufen FlatCmd Methode. Der FlatCmd Die Methode nimmt den Verweis auf eine Variable, den Befehl und den Schlüssel auf.
Var Wert Schnur
Fehler = Anschl. Mach (radix. FlatCmd(&val, "ERHALTEN", "mein Schlüssel"))Wenn äh != Null {
fmt. Println("Fehler beim Abrufen des Schlüssels: ", irren)
} anders {
fmt. Println("Wert von mykey ist", Wert)
}
Wenn Sie diesen Code ausführen, sollten Sie eine Ausgabe ähnlich der folgenden sehen:
3. Das Redigo-Paket
Der Redigo package ist eine weitere beliebte Go-Client-Bibliothek für Redis. nicht wie Radix Und Go-redis, Die Redigo package ist ein schlanker Client, der eine einfache und effiziente Schnittstelle für die Interaktion mit Redis bietet.
Eines der Verkaufsargumente von Redigo ist seine Leistung trotz seines geringen Gewichts. Redigo bietet eine druckähnliche API mit Unterstützung für alle Redis-Befehle, und das Paket wird häufig für Pipelining, Pub-Sub, Verbindungspooling und andere Operationen verwendet.
Führen Sie diesen Terminalbefehl aus, um die redigo packen und loslegen.
gehen Holen Sie sich github.com/gomodule/redigo/redis
So können Sie das Redigo-Paket in Ihre Projektdateien importieren.
importieren (
"fmt"
"github.com/gomodule/redigo/redis"
)
Du kannst den... benutzen Wählen Methode der redis -Paket, um eine Verbindung zu einer Redis-Datenbankinstanz herzustellen. Die Dial-Methode übernimmt einen Verbindungstyp und eine Adresse und gibt die Verbindungsinstanz und einen Fehler zurück.
Funkhauptsächlich() {
// Mit der Redis-Instanz verbinden
conn, err := redis. Wählen("TCP", "lokaler Host: 6379")Wenn äh != Null {
fmt. Println (err)
zurückkehren
}
verschieben Anschluss Schließen()
}
Im hauptsächlich -Funktion haben Sie eine Verbindung zu einer Redis-Datenbankinstanz hergestellt, die auf Port ausgeführt wird 6379 und schloss die Verbindung mit der Schließen Methode der Verbindungsinstanz und a verschieben Stellungnahme.
Sie können Redis-Operationen mit ausführen Tun -Methode Ihrer Verbindungsinstanz. Die Do-Methode gibt eine Ausgabeschnittstelle und einen Fehler zurück.
// Setze den Wert "hello" auf den Schlüssel "message"
_, err = verbind. Tun("SATZ", "Nachricht", "Hallo")
Wenn äh != Null {
fmt. Println (err)
zurückkehren
}
Sie können eine Zeichenfolgenausgabe einer Redis-Operation mit abrufen Schnur Methode der redis Paket. Die String-Methode übernimmt die Operationsinstanz und gibt den Wert und einen Fehler zurück.
// Holen Sie sich den Wert des Schlüssels "Nachricht"
Wert, Fehler := redis. Zeichenfolge (Anschl. Tun("ERHALTEN", "Nachricht"))Wenn äh != Null {
fmt. Println (err)
zurückkehren
}
fmt. Println (Wert) // Ausgabe: "Hallo"
Sie können SQL-Datenbanken mit Go verwenden
Es gibt Unterstützung für beliebte Datenbanken und Datenspeicher im Go-Ökosystem. Go stellt das Paket database/sql als Teil der Standardbibliothek für die Arbeit mit SQL-Datenbanken bereit.