Redis este un depozit de structuri de date în memorie, utilizat pe scară largă pentru stocarea în cache, analiză în timp real și intermedierea mesajelor. Este o alegere populară pentru dezvoltatori datorită vitezei fulgerătoare și a setului bogat de funcții.
Redis acceptă multe structuri de date, inclusiv șiruri de caractere, hashuri, liste, colecții și seturi sortate. De asemenea, oferă suport încorporat pentru publicare/abonare pentru mesaje, suport pentru tranzacții și scripting Lua.
Există mai mulți clienți Redis populari pentru dezvoltatorii Go, fiecare cu caracteristici și funcționalități unice. Următorii trei clienți Redis sunt cei mai populari printre dezvoltatorii Go.
1. Pachetul go-redis
The go-redis pachetul este o bibliotecă client Go populară pentru baza de date Redis. Oferă un API simplu și ușor de utilizat pentru interacțiunea cu Redis, iar pachetul acceptă toate comenzile Redis.
Pachetul go-redis este popular printre dezvoltatorii Go datorită performanței, fiabilității și interfeței ușor de utilizat. Veți găsi pachetul util pentru funcționalitate de la managementul sesiunilor la stocarea în cache, coada de mesaje și multe altele.
Rulați această comandă în terminalul directorului de proiect pentru a instala pachetul go-redis.
merge obține github.com/merge-redis/redis
Iată cum puteți importa pachetul go-redis în proiectul dvs.
import (
"fmt"
„github.com/go-redis/redis”
)
Crearea unei noi conexiuni la o bază de date Redis cu pachetul go-redis este ușoară. Vei folosi Client nou metoda de redis pachet, care acceptă Opțiuni struct care conține detaliile de configurare.
funcprincipal() {
client := redis. Client nou(&redis. Opțiuni{
Adresa: "localhost: 6379",
Parola: " ", // nicio parolă setată
})
}
În principal funcția, cea client variabila este instanța de conectare a clientului Redis. Puteți inițializa Opțiuni struct cu Adr și Parola câmpuri care dețin adresa și respectiv parola bazei de date.
La crearea unei instanțe client Redis, puteți face ping la baza de date pentru a vă verifica conexiunea cu Ping metodă. Puteți folosi Rezultat metoda pe metoda Ping, care returnează starea și o eroare.
pong, err := client. Ping().Rezultat()dacă greș!= zero {
fmt. Println (eroare)
întoarcere
}
fmt. Println (pong, err)
Puteți adăuga o pereche cheie-valoare în baza de date cu ajutorul A stabilit metoda instanței dvs. client. Folosind Err metoda pe o operație returnează o eroare pe care o puteți gestiona.
// Setați o cheie
err = client. A stabilit("cheie", "valoare", 0).Eroare()
dacă greș!= zero {
fmt. Println (eroare)
întoarcere
}
Puteți prelua o valoare din baza de date cu cheia utilizând obține metoda instanței dvs. client. Folosind Rezultat metoda pe o operație returnează rezultatul operației și o eroare.
// Ia o cheie
val, err := client. Obține("cheie").Rezultat()dacă greș!= zero {
fmt. Println (eroare)
întoarcere
}
fmt. Println("cheie", val)
2. Pachetul Radix
The Radix pachetul este o bibliotecă care oferă un client pentru depozitul de structuri de date Redis în memorie. Pachetul Radix extrage pachetul Redigo pentru a oferi un API ușor de utilizat pentru interacțiunea cu Redis.
Pachetul Radix oferă suport pentru toate comenzile Redis, inclusiv Lua scripting și Pub/Sub, pooling de conexiuni și reconectări automate care permit operațiuni eficiente și rezistente cu Redis, suport pentru Clustere Redis, inclusiv sharding transparent și failover, și un design ușor și eficient care permite o latență scăzută și mare debitului.
Veți găsi pachetul Radix foarte util dacă doriți să adăugați suport Redis rapid la proiectele dvs. Go, deoarece pachetul retrage complexitățile de bază ale protocolului Redis, făcând memorarea în cache, gestionarea sesiunilor și așteptarea mesajelor Mai uşor.
Rulați această comandă pentru a instala versiunea trei a pachetului Radix în directorul de lucru al proiectului.
merge obțineți github.com/mediocregopher/radix/v3
Iată cum puteți importa Radix pachet în programul dvs.
import (
"fmt"
„github.com/mediocregopher/radix/v3”
)
Puteți folosi Apelează metoda de radix pachet pentru a vă conecta la un server Redis. The Apelează metoda acceptă tipul de conexiune și adresa serverului Redis și returnează o instanță de conexiune și o eroare.
funcprincipal() {
//conectați-vă la serverul redis
conn, err := radix. Apelează("tcp", "localhost: 6379")dacă greș!= zero {
fmt. Println (eroare)
întoarcere
}
amâna conn. Închide()
}
În funcția principală, ați creat o instanță de conexiune Redis cu Apelează metoda și a închis legătura cu Închide metoda si a amâna afirmație.
Puteți executa comenzi Redis cu ajutorul Cmd metoda de radix pachet. The Cmd metoda acceptă o interfață, o comandă și valorile comenzii.
err = conn. Face (radix. Cmd(zero, "A STABILIT", "cheia mea", "valoarea mea"))
dacă greș!= zero {
fmt. Println(„Tasta de setare eroare:”, greseala)
} altfel {
fmt. Println(„Cheie setată cu succes”)
}
The Do metoda include operația și returnează o eroare.
În mod similar, puteți prelua valori din baza de date cu ajutorul FlatCmd metodă. The FlatCmd metoda include referința la o variabilă, comanda și cheia.
var val şir
err = conn. Face (radix. FlatCmd(&val, "OBȚINE", "cheia mea"))dacă greș!= zero {
fmt. Println("Eroare la obținerea cheii: ", greseala)
} altfel {
fmt. Println(„Valoarea cheii mele este”, val)
}
Când rulați acel cod, ar trebui să vedeți rezultate similare cu aceasta:
3. Pachetul Redigo
The Redigo pachetul este o altă bibliotecă client Go populară pentru Redis. Spre deosebire de Radix și Go-redis, cel Redigo pachetul este un client ușor care oferă o interfață simplă și eficientă pentru interacțiunea cu Redis.
Unul dintre punctele de vânzare ale Redigo este performanța sa, în ciuda greutății sale reduse. Redigo oferă un API asemănător tipăririi cu suport pentru toate comenzile Redis, iar pachetul este folosit în mod popular pentru pipelining, pub-sub, pooling de conexiuni și alte operațiuni.
Rulați această comandă de terminal pentru a instala redigo pachet și începe.
merge obțineți github.com/gomodule/redigo/redis
Iată cum puteți importa pachetul redigo în fișierele de proiect.
import (
"fmt"
„github.com/gomodule/redigo/redis”
)
Puteți folosi Apelează metoda de redis pachet pentru a vă conecta la o instanță de bază de date Redis. Metoda Dial preia un tip de conexiune și o adresă și returnează instanța de conectare și o eroare.
funcprincipal() {
// Conectați-vă la instanța Redis
conn, err := redis. Apelează("tcp", "localhost: 6379")dacă greș!= zero {
fmt. Println (eroare)
întoarcere
}
amâna conn. Închide()
}
În principal funcția, v-ați conectat la o instanță de bază de date Redis care rulează pe port 6379 și a închis legătura cu Închide metoda instanței de conectare și a amâna afirmație.
Puteți executa operațiuni Redis folosind Do metoda instanței dvs. de conectare. Metoda Do returnează o interfață de ieșire și o eroare.
// Setați valoarea „bună ziua” la cheia „mesaj”
_, err = conn. Do("A STABILIT", "mesaj", "Buna ziua")
dacă greș!= zero {
fmt. Println (eroare)
întoarcere
}
Puteți prelua un șir de ieșire a unei operațiuni Redis cu Şir metoda de redis pachet. Metoda String preia instanța operației și returnează valoarea și o eroare.
// Obține valoarea cheii „mesaj”
valoare, err := redis. String (conn. Do("OBȚINE", "mesaj"))dacă greș!= zero {
fmt. Println (eroare)
întoarcere
}
fmt. Println (valoare) // Ieșire: „bună ziua”
Puteți utiliza baze de date SQL cu Go
Există suport pentru baze de date și magazine de date populare în ecosistemul Go. Go oferă pachetul bază de date/sql ca parte a bibliotecii standard pentru lucrul cu bazele de date SQL.