Redis er et datastrukturlager i minnet, mye brukt for caching, sanntidsanalyse og meldingsmegling. Det er et populært valg for utviklere på grunn av sin lynraske hastighet og rike funksjonssett.
Redis støtter mange datastrukturer, inkludert strenger, hasher, lister, samlinger og sorterte sett. Den tilbyr også innebygd publiserings-/abonnermeldingsstøtte, transaksjonsstøtte og Lua-skripting.
Det er flere populære Redis-klienter for Go-utviklere, hver med unike funksjoner og funksjonalitet. Følgende tre Redis-klienter er de mest populære blant Go-utviklere.
1. Go-redis-pakken
De gå-redis pakken er et populært Go-klientbibliotek for Redis-databasen. Den gir en enkel, brukervennlig API for samhandling med Redis, og pakken støtter alle Redis-kommandoer.
Go-redis-pakken er populær blant Go-utviklere på grunn av ytelsen, påliteligheten og brukervennlige grensesnittet. Du finner pakken nyttig for funksjonalitet fra
øktledelse til bufring, meldingskø og mer.Kjør denne kommandoen i terminalen i prosjektkatalogen for å installere go-redis-pakken.
gå skaff deg github.com/gå-redis/redis
Slik kan du importere go-redis-pakken i prosjektet ditt.
import (
"fmt"
"github.com/go-redis/redis"
)
Det er enkelt å instansiere en ny tilkobling til en Redis-database med go-redis-pakken. Du vil bruke Ny klient metoden for redis pakken, som godtar Alternativer struct som inneholder konfigurasjonsdetaljene.
funchoved-() {
klient := redis. NewClient(&redis. Alternativer{
Adr: "lokal vert: 6379",
Passord: " ", // ikke angitt passord
})
}
I hoved- funksjon, den klient variabelen er Redis-klientforbindelsesinstansen. Du kan initialisere Alternativer struktur med Adr og Passord felt som inneholder henholdsvis databaseadressen og passordet.
Når du oppretter en Redis-klientforekomst, kan du pinge databasen for å bekrefte forbindelsen din med Ping metode. Du kan bruke Resultat metode på Ping-metoden, som returnerer statusen og en feil.
pong, feil := klient. Ping().Resultat()hvis feil!= null {
fmt. Println (feil)
komme tilbake
}
fmt. Println (pong, feil)
Du kan legge til et nøkkelverdi-par til databasen din med Sett metoden til klientforekomsten din. Bruker Err metode på en operasjon returnerer en feil du kan håndtere.
// Sett en nøkkel
feil = klient. Sett("nøkkel", "verdi", 0).Err()
hvis feil!= null {
fmt. Println (feil)
komme tilbake
}
Du kan hente en verdi fra databasen med nøkkelen ved å bruke Få metoden til klientforekomsten din. Bruker Resultat metode på en operasjon returnerer resultatet av operasjonen og en feil.
// Få en nøkkel
val, feil := klient. Få("nøkkel").Resultat()hvis feil!= null {
fmt. Println (feil)
komme tilbake
}
fmt. Println("nøkkel", val)
2. Radix-pakken
De Radix pakken er et bibliotek som gir en klient for Redis-minnedatastrukturlageret. Radix-pakken abstraherer Redigo-pakken for å gi et brukervennlig API for samhandling med Redis.
Radix-pakken gir støtte for alle Redis-kommandoer, inkludert Lua skripting og Pub/Sub, tilkoblingspooling og automatiske retilkoblinger som muliggjør effektiv og robust drift med Redis, støtte for Redis-klynger inkludert gjennomsiktig sharding og failover, og en lett, effektiv design som tillater lav latens og høy gjennomstrømning.
Du vil finne Radix-pakken veldig nyttig hvis du ønsker å legge til rask Redis-støtte til Go-prosjektene dine siden pakken abstraherer den underliggende kompleksiteten til Redis-protokollen, og gjør caching, øktadministrasjon og meldingskø lettere.
Kjør denne kommandoen for å installere Radix-pakkeversjon tre i prosjektets arbeidskatalog.
gå skaff deg github.com/mediocregopher/radix/v3
Slik kan du importere Radix pakken i programmet ditt.
import (
"fmt"
"github.com/mediocregopher/radix/v3"
)
Du kan bruke Slå metoden for radix pakke for å koble til en Redis-server. De Slå metoden aksepterer tilkoblingstypen og adressen til Redis-serveren og returnerer en tilkoblingsforekomst og feil.
funchoved-() {
//koble til redis server
conn, feil := radix. Slå("tcp", "lokal vert: 6379")hvis feil!= null {
fmt. Println (feil)
komme tilbake
}
utsette tilk. Lukk()
}
I hovedfunksjonen opprettet du en Redis-tilkoblingsforekomst med Slå metode og lukket forbindelsen med Lukk metode og en utsette uttalelse.
Du kan utføre Redis-kommandoer med Cmd metoden for radix pakke. De Cmd metoden aksepterer et grensesnitt, en kommando og kommandoens verdier.
feil = tilk. Gjør (radix. Cmd(null, "SETT", "nøkkelen min", "min verdi"))
hvis feil!= null {
fmt. Println("Feilinnstillingsnøkkel: ", feil)
} ellers {
fmt. Println("Nøkkelsett vellykket")
}
De Gjøre metoden omslutter operasjonen og returnerer en feil.
På samme måte kan du hente verdier fra databasen din med FlatCmd metode. De FlatCmd metoden tar inn referansen til en variabel, kommandoen og nøkkelen.
var val streng
feil = tilk. Gjør (radix. FlatCmd(&val, "FÅ", "nøkkelen min"))hvis feil!= null {
fmt. Println("Feil ved henting av nøkkel: ", feil)
} ellers {
fmt. Println("Verdien av mykey er", val)
}
Når du kjører den koden, bør du se utdata som ligner på dette:
3. Redigo-pakken
De Redigo pakken er et annet populært Go-klientbibliotek for Redis. I motsetning til Radix og Go-redis, den Redigo package er en lett klient som gir et enkelt og effektivt grensesnitt for samhandling med Redis.
Et av salgsargumentene til Redigo er ytelsen, til tross for dens lave vekt. Redigo gir et utskriftslignende API med støtte for alle Redis-kommandoer, og pakken er populært brukt til pipelining, pub-sub, tilkoblingspooling og andre operasjoner.
Kjør denne terminalkommandoen for å installere redigo pakke og komme i gang.
gå skaff deg github.com/gomodule/redigo/redis
Slik kan du importere Redigo-pakken i prosjektfilene dine.
import (
"fmt"
"github.com/gomodule/redigo/redis"
)
Du kan bruke Slå metoden for redis pakke for å koble til en Redis-databaseforekomst. Dial-metoden tar inn en tilkoblingstype og en adresse og returnerer tilkoblingsforekomsten og en feil.
funchoved-() {
// Koble til Redis-forekomsten
conn, feil := redis. Slå("tcp", "lokal vert: 6379")hvis feil!= null {
fmt. Println (feil)
komme tilbake
}
utsette tilk. Lukk()
}
I hoved- funksjon, koblet du til en Redis-databaseforekomst som kjører på port 6379 og lukket forbindelsen med Lukk metode for tilkoblingsforekomsten og en utsette uttalelse.
Du kan utføre Redis-operasjoner ved å bruke Gjøre metoden for tilkoblingsforekomsten. Do-metoden returnerer et utdatagrensesnitt og en feil.
// Sett verdien "hei" til nøkkelen "melding"
_, feil = tilk. Gjøre("SETT", "beskjed", "Hallo")
hvis feil!= null {
fmt. Println (feil)
komme tilbake
}
Du kan hente en strengutgang fra en Redis-operasjon med String metoden for redis pakke. String-metoden tar inn operasjonsforekomsten og returnerer verdien og en feil.
// Få verdien av nøkkelen "melding"
verdi, feil := redis. String (tilk. Gjøre("FÅ", "beskjed"))hvis feil!= null {
fmt. Println (feil)
komme tilbake
}
fmt. Println (verdi) // Utgang: "hei"
Du kan bruke SQL-databaser med Go
Det er støtte for populære databaser og datalagre i Go-økosystemet. Go gir databasen/sql-pakken som en del av standardbiblioteket for arbeid med SQL-databaser.