Læsere som dig hjælper med at støtte MUO. Når du foretager et køb ved hjælp af links på vores websted, kan vi optjene en affiliate-kommission. Læs mere.

Redis er et datastrukturlager i hukommelsen, der er meget brugt til cachelagring, realtidsanalyse og meddelelsesmæglervirksomhed. Det er et populært valg for udviklere på grund af dets lynhurtige hastighed og rige funktionssæt.

Redis understøtter mange datastrukturer, herunder strenge, hashes, lister, samlinger og sorterede sæt. Det tilbyder også indbygget publicerings-/abonner-meddelelsessupport, transaktionssupport og Lua-scripting.

Der er flere populære Redis-klienter til Go-udviklere, hver med unikke funktioner og funktionalitet. Følgende tre Redis-klienter er de mest populære blandt Go-udviklere.

1. Go-redis-pakken

Det gå-redis pakke er et populært Go-klientbibliotek til Redis-databasen. Det giver en enkel, brugervenlig API til at interagere med Redis, og pakken understøtter alle Redis-kommandoer.

Go-redis-pakken er populær blandt Go-udviklere på grund af dens ydeevne, pålidelighed og brugervenlige grænseflade. Du finder pakken nyttig til funktionalitet fra

instagram viewer
sessionsstyring til cachelagring, beskedkø og mere.

Kør denne kommando i terminalen i dit projektbibliotek for at installere go-redis-pakken.

 få github.com/-redis/redis

Sådan kan du importere go-redis-pakken i dit projekt.

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

Det er nemt at instansiere en ny forbindelse til en Redis-database med go-redis-pakken. Du vil bruge Ny klient metoden til redis pakke, som accepterer Muligheder struct, der indeholder konfigurationsdetaljerne.

funcvigtigste() {
klient := redis. NewClient(&redis. Muligheder{
Adr: "lokal vært: 6379",
Adgangskode: " ", // ingen adgangskode angivet
})
}

I den vigtigste funktion, den klient variabel er Redis-klientforbindelsesinstansen. Du kan initialisere Muligheder strukturere med Adr og Adgangskode felter, der indeholder henholdsvis databaseadressen og adgangskoden.

Når du opretter en Redis-klientinstans, kan du pinge databasen for at bekræfte din forbindelse med Ping metode. Du kan bruge Resultat metode på Ping-metoden, som returnerer status og en fejl.

pong, fejl := klient. Ping().Resultat()

hvis fejl!= nul {
fmt. Println (fejl)
Vend tilbage
}

fmt. Println (pong, fejl)

Du kan tilføje et nøgle-værdi-par til din database med Sæt metoden for din klientinstans. Bruger Err metode på en operation returnerer en fejl, du kan håndtere.

// Indstil en nøgle
fejl = klient. Sæt("nøgle", "værdi", 0).Err()

hvis fejl!= nul {
fmt. Println (fejl)
Vend tilbage
}

Du kan hente en værdi fra databasen med nøglen ved hjælp af metoden for din klientinstans. Bruger Resultat metode på en operation returnerer resultatet af operationen og en fejl.

// Få en nøgle
val, fejl := klient. Få("nøgle").Resultat()

hvis fejl!= nul {
fmt. Println (fejl)
Vend tilbage
}

fmt. Println("nøgle", val)

2. Radix-pakken

Det Radix pakke er et bibliotek, der leverer en klient til Redis-datastrukturlageret i hukommelsen. Radix-pakken abstraherer Redigo-pakken for at give en brugervenlig API til at interagere med Redis.

Radix-pakken giver understøttelse af alle Redis-kommandoer, inklusive Lua scripting og Pub/Sub, forbindelsespooling og automatiske genforbindelser, der muliggør effektiv og modstandsdygtig drift med Redis, understøttelse af Redis-klynger inklusive gennemsigtig sharding og failover og et let, effektivt design, der giver mulighed for lav latens og høj gennemløb.

Du vil finde Radix-pakken meget nyttig, hvis du ønsker at tilføje hurtig Redis-support til dine Go-projekter siden pakken abstraherer den underliggende kompleksitet af Redis-protokollen, hvilket gør caching, sessionsstyring og beskedkø nemmere.

Kør denne kommando for at installere Radix-pakken version tre i dit projektarbejdsmappe.

 få github.com/mediocregopher/radix/v3

Sådan kan du importere Radix pakke i dit program.

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

Du kan bruge Urskive metoden til radix pakke for at oprette forbindelse til en Redis-server. Det Urskive metoden accepterer forbindelsestypen og adressen på Redis-serveren og returnerer en forbindelsesforekomst og fejl.

funcvigtigste() {
//opret forbindelse til redis-server
conn, fejl := radix. Urskive("tcp", "lokal vært: 6379")

hvis fejl!= nul {
fmt. Println (fejl)
Vend tilbage
}

udsætte forb. Tæt()
}

I hovedfunktionen oprettede du en Redis-forbindelsesinstans med Urskive metode og lukkede forbindelsen med Tæt metode og en udsætte udmelding.

Du kan udføre Redis-kommandoer med Cmd metoden til radix pakke. Det Cmd metode accepterer en grænseflade, en kommando og kommandoens værdier.

fejl = forb. Gør (radix. Cmd(nul, "SÆT", "mykey", "min værdi"))

hvis fejl!= nul {
fmt. Println("Fejlindstillingsnøgle:", fejl)
} andet {
fmt. Println("Nøgle indstillet med succes")
}

Det Gør metoden omslutter operationen og returnerer en fejl.

På samme måde kan du hente værdier fra din database med FlatCmd metode. Det FlatCmd metoden tager referencen til en variabel, kommandoen og nøglen.

var val snor
fejl = forb. Gør (radix. FlatCmd(&val, "FÅ", "mykey"))

hvis fejl!= nul {
fmt. Println("Fejl ved hentning af nøgle:", fejl)
} andet {
fmt. Println("Værdien af ​​mykey er", val)
}

Når du kører den kode, bør du se output svarende til dette:

3. Redigo-pakken

Det Redigo pakke er et andet populært Go-klientbibliotek til Redis. I modsætning til Radix og Go-redis, det Redigo pakke er en letvægtsklient, der giver en enkel og effektiv grænseflade til interaktion med Redis.

Et af salgsargumenterne ved Redigo er dens ydeevne, på trods af dens lette vægt. Redigo leverer en print-lignende API med understøttelse af alle Redis-kommandoer, og pakken bruges populært til pipelining, pub-sub, forbindelsespooling og andre operationer.

Kør denne terminalkommando for at installere redigo pakke og gå i gang.

 få github.com/gomodule/redigo/redis

Sådan kan du importere Redigo-pakken i dine projektfiler.

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

Du kan bruge Urskive metoden til redis pakke til at oprette forbindelse til en Redis-databaseinstans. Opkaldsmetoden tager en forbindelsestype og en adresse ind og returnerer forbindelsesforekomsten og en fejl.

funcvigtigste() {
// Opret forbindelse til Redis-instansen
conn, err := redis. Urskive("tcp", "lokal vært: 6379")

hvis fejl!= nul {
fmt. Println (fejl)
Vend tilbage
}

udsætte forb. Tæt()
}

I den vigtigste funktion, oprettede du forbindelse til en Redis-databaseinstans, der kører på port 6379 og lukkede forbindelsen med Tæt metode for forbindelsesinstansen og en udsætte udmelding.

Du kan udføre Redis-operationer ved hjælp af Gør metoden for din forbindelsesinstans. Do-metoden returnerer et output-interface og en fejl.

// Indstil værdien "hej" til nøglen "besked"
_, fejl = forb. Gør ("SÆT", "besked", "Hej")

hvis fejl!= nul {
fmt. Println (fejl)
Vend tilbage
}

Du kan hente et strengoutput fra en Redis-operation med Snor metoden til redis pakke. String-metoden tager operationsforekomsten ind og returnerer værdien og en fejl.

// Hent værdien af ​​nøglen "besked"
værdi, fejl := redis. Streng (konn. Gør ("FÅ", "besked"))

hvis fejl!= nul {
fmt. Println (fejl)
Vend tilbage
}

fmt. Println (værdi) // Output: "hej"

Du kan bruge SQL-databaser med Go

Der er understøttelse af populære databaser og datalagre i Go-økosystemet. Go leverer database/sql-pakken som en del af standardbiblioteket til at arbejde med SQL-databaser.