Läsare som du hjälper till att stödja MUO. När du gör ett köp med hjälp av länkar på vår webbplats kan vi tjäna en affiliate-provision. Läs mer.

Redis är en datastrukturbutik i minnet som används ofta för cachelagring, realtidsanalys och meddelandeförmedling. Det är ett populärt val för utvecklare på grund av dess blixtsnabba hastighet och rika funktionsuppsättning.

Redis stöder många datastrukturer inklusive strängar, hash, listor, samlingar och sorterade uppsättningar. Den erbjuder också inbyggt stöd för publicering/prenumeration av meddelanden, transaktionsstöd och Lua-skript.

Det finns flera populära Redis-klienter för Go-utvecklare, var och en med unika funktioner och funktionalitet. Följande tre Redis-klienter är de mest populära bland Go-utvecklare.

1. Go-redis-paketet

De go-redis package är ett populärt Go-klientbibliotek för Redis-databasen. Det tillhandahåller ett enkelt, lättanvänt API för att interagera med Redis, och paketet stöder alla Redis-kommandon.

Go-redis-paketet är populärt bland Go-utvecklare på grund av dess prestanda, tillförlitlighet och lättanvända gränssnitt. Du hittar paketet användbart för funktionalitet från

instagram viewer
sessionshantering till cachelagring, meddelandekö och mer.

Kör det här kommandot i terminalen i din projektkatalog för att installera go-redis-paketet.

 skaffa github.com/-redis/redis

Så här kan du importera go-redis-paketet i ditt projekt.

importera (
"fmt"
"github.com/go-redis/redis"
)

Att instansiera en ny anslutning till en Redis-databas med go-redis-paketet är enkelt. Du kommer att använda Ny kund metod för redis paket, som accepterar alternativ struct som innehåller konfigurationsdetaljerna.

funchuvud() {
klient := redis. NewClient(&redis. Alternativ{
Adr: "lokal värd: 6379",
Lösenord: " ", // inget lösenord inställt
})
}

I den huvud funktion, den klient variabeln är Redis-klientanslutningsinstansen. Du kan initiera alternativ strukturera med Addr och Lösenord fält som innehåller databasadressen respektive lösenordet.

När du skapar en Redis-klientinstans kan du pinga databasen för att verifiera din anslutning till Ping metod. Du kan använda Resultat metod på Ping-metoden, som returnerar status och ett fel.

pong, err := klient. Ping().Result()

om fel!= noll {
fmt. Println (fel)
lämna tillbaka
}

fmt. Println (pong, fel)

Du kan lägga till ett nyckel-värdepar till din databas med Uppsättning metod för din klientinstans. Använda Fela metod på en operation returnerar ett fel som du kan hantera.

// Ställ in en nyckel
err = klient. Uppsättning("nyckel", "värde", 0).Fela()

om fel!= noll {
fmt. Println (fel)
lämna tillbaka
}

Du kan hämta ett värde från databasen med nyckeln med hjälp av Skaffa sig metod för din klientinstans. Använda Resultat metod på en operation returnerar resultatet av operationen och ett fel.

// Få en nyckel
val, fel := klient. Skaffa sig("nyckel").Resultat()

om fel!= noll {
fmt. Println (fel)
lämna tillbaka
}

fmt. Println("nyckel", val)

2. Radix-paketet

De Radix paketet är ett bibliotek som tillhandahåller en klient för Redis in-memory data structure store. Radix-paketet abstraherar Redigo-paketet för att tillhandahålla ett lättanvänt API för interaktion med Redis.

Radix-paketet ger stöd för alla Redis-kommandon, inklusive Lua manus och Pub/Sub, anslutningspooling och automatiska återanslutningar som möjliggör effektiv och motståndskraftig drift med Redis, stöd för Redis-kluster inklusive transparent sharding och failover, och en lätt, effektiv design som möjliggör låg latens och hög genomströmning.

Du kommer att hitta Radix-paketet mycket användbart om du vill lägga till snabb Redis-stöd till dina Go-projekt sedan Paketet abstraherar den underliggande komplexiteten i Redis-protokollet, vilket gör cachning, sessionshantering och meddelandekö lättare.

Kör det här kommandot för att installera Radix-paketet version tre i din projektarbetskatalog.

 hämta github.com/mediocregopher/radix/v3

Så här kan du importera Radix paketet i ditt program.

importera (
"fmt"
"github.com/mediocregopher/radix/v3"
)

Du kan använda Ringa metod för radix paket för att ansluta till en Redis-server. De Ringa metod accepterar anslutningstypen och adressen till Redis-servern och returnerar en anslutningsinstans och ett fel.

funchuvud() {
//anslut till redis-server
anslutning, fel := radix. Ringa("tcp", "lokal värd: 6379")

om fel!= noll {
fmt. Println (fel)
lämna tillbaka
}

uppskjuta anslutning. Stänga()
}

I huvudfunktionen skapade du en Redis-anslutningsinstans med Ringa metod och stängde förbindelsen med Stänga metod och a uppskjuta påstående.

Du kan utföra Redis-kommandon med Cmd metod för radix paket. De Cmd metod accepterar ett gränssnitt, ett kommando och kommandots värden.

fel = anslutning. Gör (radix. Cmd(noll, "UPPSÄTTNING", "min nyckel", "mitt värde"))

om fel!= noll {
fmt. Println("Felinställningar nyckel: ", fel)
} annan {
fmt. Println("Nyckelinställningen lyckades")
}

De Do metoden omsluter operationen och returnerar ett fel.

På samma sätt kan du hämta värden från din databas med FlatCmd metod. De FlatCmd metoden tar in referensen till en variabel, kommandot och nyckeln.

var val sträng
fel = anslutning. Gör (radix. FlatCmd(&val, "SKAFFA SIG", "min nyckel"))

om fel!= noll {
fmt. Println("Det gick inte att hämta nyckel:", fel)
} annan {
fmt. Println("Värdet på mykey är", val)
}

När du kör den koden bör du se utdata som liknar detta:

3. Redigo-paketet

De Redigo paket är ett annat populärt Go-klientbibliotek för Redis. Till skillnad från Radix och Go-redis, den Redigo package är en lättviktsklient som ger ett enkelt och effektivt gränssnitt för interaktion med Redis.

En av Redigos försäljningsargument är dess prestanda, trots sin låga vikt. Redigo tillhandahåller ett utskriftsliknande API med stöd för alla Redis-kommandon, och paketet används populärt för pipelining, pub-sub, anslutningspooling och andra operationer.

Kör det här terminalkommandot för att installera redigo paketera och sätt igång.

 hämta github.com/gomodule/redigo/redis

Så här kan du importera Redigo-paketet till dina projektfiler.

importera (
"fmt"
"github.com/gomodule/redigo/redis"
)

Du kan använda Ringa metod för redis paket för att ansluta till en Redis-databasinstans. Dial-metoden tar in en anslutningstyp och en adress och returnerar anslutningsinstansen och ett fel.

funchuvud() {
// Anslut till Redis-instansen
conn, err := redis. Ringa("tcp", "lokal värd: 6379")

om fel!= noll {
fmt. Println (fel)
lämna tillbaka
}

uppskjuta anslutning. Stänga()
}

I den huvud funktion kopplade du till en Redis-databasinstans som kördes på port 6379 och stängde anslutningen med Stänga metod för anslutningsinstansen och en uppskjuta påstående.

Du kan utföra Redis-operationer med hjälp av Do metod för din anslutningsinstans. Do-metoden returnerar ett utdatagränssnitt och ett fel.

// Ställ in värdet "hej" till nyckeln "meddelande"
_, fel = anslutning. Do("UPPSÄTTNING", "meddelande", "Hallå")

om fel!= noll {
fmt. Println (fel)
lämna tillbaka
}

Du kan hämta en strängutgång från en Redis-operation med Sträng metod för redis paket. Stringmetoden tar in operationsinstansen och returnerar värdet och ett fel.

// Få värdet av nyckeln "meddelande"
värde, fel := redis. Sträng (anl. Do("SKAFFA SIG", "meddelande"))

om fel!= noll {
fmt. Println (fel)
lämna tillbaka
}

fmt. Println (värde) // Utdata: "hej"

Du kan använda SQL-databaser med Go

Det finns stöd för populära databaser och datalager i Go-ekosystemet. Go tillhandahåller databasen/sql-paketet som en del av standardbiblioteket för att arbeta med SQL-databaser.