3 najlepszych klientów Redis dla programistów Go
Redis to magazyn struktury danych w pamięci, szeroko stosowany do buforowania, analiz w czasie rzeczywistym i pośrednictwa wiadomości. Jest popularnym wyborem dla programistów ze względu na błyskawiczną szybkość i bogaty zestaw funkcji.
Redis obsługuje wiele struktur danych, w tym ciągi znaków, skróty, listy, kolekcje i posortowane zestawy. Oferuje również wbudowaną obsługę wiadomości publikowania/subskrybowania, obsługę transakcji i skrypty Lua.
Istnieje kilka popularnych klientów Redis dla programistów Go, z których każdy ma unikalne funkcje i funkcje. Następujące trzy klienty Redis są najbardziej popularne wśród programistów Go.
1. Pakiet go-redis
Pakiet go-redis to popularna biblioteka kliencka Go dla bazy danych Redis. Zapewnia prosty, łatwy w użyciu interfejs API do interakcji z Redis, a pakiet obsługuje wszystkie polecenia Redis.
Pakiet go-redis jest popularny wśród programistów Go ze względu na jego wydajność, niezawodność i łatwy w obsłudze interfejs. Przekonasz się, że pakiet jest przydatny w zakresie funkcji, od zarządzania sesjami po buforowanie, kolejkowanie wiadomości i nie tylko.
Uruchom to polecenie w terminalu katalogu projektu, aby zainstalować pakiet go-redis.
go get github.com/go-redis/redis
Oto jak możesz zaimportować pakiet go-redis do swojego projektu.
import (
"fmt"
"github.com/go-redis/redis"
)
Tworzenie instancji nowego połączenia z bazą danych Redis za pomocą pakietu go-redis jest łatwe. Użyjesz metody NewClient pakietu redis , która akceptuje strukturę Options zawierającą szczegóły konfiguracji.
func main() {
client: = redis.NewClient(&redis.Options{
Addr: "localhost:6379",
Password: "", // no password set
})
}
W funkcji main zmienną klienta jest instancja połączenia klienta Redis. Strukturę Options można zainicjować polami Addr i Password , które przechowują odpowiednio adres bazy danych i hasło.
Tworząc instancję klienta Redis, możesz wysłać polecenie ping do bazy danych, aby zweryfikować połączenie za pomocą metody Ping . Możesz użyć metody Result w metodzie Ping, która zwraca stan i błąd.
pong, err: = client.Ping().Result()
if err! = nil {
fmt.Println(err)
return
}
fmt.Println(pong, err)
Możesz dodać parę klucz-wartość do swojej bazy danych za pomocą metody Set instancji klienta. Użycie metody Err w operacji zwraca błąd, który można obsłużyć.
// Set a key
err = client.Set("key", "value", 0).Err()
if err! = nil {
fmt.Println(err)
return
}
Możesz pobrać wartość z bazy danych za pomocą klucza przy użyciu metody Get instancji klienta. Użycie metody Result w operacji zwraca wynik operacji i błąd.
// Get a key
val, err: = client.Get("key").Result()
if err! = nil {
fmt.Println(err)
return
}
fmt.Println("key", val)
2. Pakiet Radix
Pakiet Radix to biblioteka, która zapewnia klienta magazynu struktur danych Redis w pamięci. Pakiet Radix stanowi streszczenie pakietu Redigo, aby zapewnić łatwy w użyciu interfejs API do interakcji z Redis.
Pakiet Radix zapewnia obsługę wszystkich poleceń Redis, w tym skryptów Lua i Pub/Sub, pulę połączeń i automatyczne ponowne łączenie, które umożliwiają wydajne i odporne operacje z Redis, obsługę klastrów Redis, w tym przezroczyste sharding i przełączanie awaryjne, a także lekką, wydajną konstrukcję umożliwiającą dla małych opóźnień i wysokiej przepustowości.
Przekonasz się, że pakiet Radix jest bardzo przydatny, jeśli chcesz dodać szybką obsługę Redis do swoich projektów Go, ponieważ pakiet ten streszcza podstawową złożoność protokołu Redis, ułatwiając buforowanie, zarządzanie sesjami i kolejkowanie wiadomości.
Uruchom to polecenie, aby zainstalować pakiet Radix w wersji trzeciej w katalogu roboczym projektu.
go get github.com/mediocregopher/radix/v3
Oto jak możesz zaimportować pakiet Radix do swojego programu.
import (
"fmt"
"github.com/mediocregopher/radix/v3"
)
Możesz użyć metody Dial pakietu radix , aby połączyć się z serwerem Redis. Metoda Dial akceptuje typ połączenia i adres serwera Redis oraz zwraca instancję połączenia i błąd.
func main() {
//connect to redis server
conn, err: = radix.Dial("tcp", "localhost:6379")
if err! = nil {
fmt.Println(err)
return
}
defer conn.Close()
}
W funkcji main utworzyłeś instancję połączenia Redis za pomocą metody Dial i zamknąłeś połączenie za pomocą metody Close i instrukcji odroczenia .
Możesz wykonywać polecenia Redis za pomocą metody Cmd pakietu radix . Metoda Cmd akceptuje interfejs, polecenie i wartości polecenia.
err = conn.Do(radix.Cmd(nil, "SET", "mykey", "myvalue"))
if err! = nil {
fmt.Println("Error setting key: ", err)
} else {
fmt.Println("Key set successfully")
}
Metoda Do zawiera operację i zwraca błąd.
Podobnie możesz pobrać wartości z bazy danych za pomocą metody FlatCmd . Metoda FlatCmd pobiera odwołanie do zmiennej, polecenia i klucza.
var val string
err = conn.Do(radix.FlatCmd(&val, "GET", "mykey"))
if err! = nil {
fmt.Println("Error getting key: ", err)
} else {
fmt.Println("Value of mykey is", val)
}
Po uruchomieniu tego kodu powinieneś zobaczyć dane wyjściowe podobne do tego:
3. Pakiet Redigo
Pakiet Redigo to kolejna popularna biblioteka klienta Go dla Redis. W przeciwieństwie do Radix i Go-redis , pakiet Redigo jest lekkim klientem, który zapewnia prosty i wydajny interfejs do interakcji z Redis.
Jednym z atutów Redigo jest jego wydajność, pomimo niewielkiej wagi. Redigo zapewnia podobny do drukowania interfejs API z obsługą wszystkich poleceń Redis, a pakiet jest powszechnie używany do potokowania, publikacji-sub, łączenia połączeń i innych operacji.
Uruchom to polecenie terminala, aby zainstalować pakiet redigo i rozpocząć.
go get github.com/gomodule/redigo/redis
Oto jak możesz zaimportować pakiet redigo do plików projektu.
import (
"fmt"
"github.com/gomodule/redigo/redis"
)
Możesz użyć metody Dial pakietu redis , aby połączyć się z instancją bazy danych Redis. Metoda Dial pobiera typ połączenia i adres oraz zwraca instancję połączenia i błąd.
func main() {
// Connect to the Redis instance
conn, err: = redis.Dial("tcp", "localhost:6379")
if err! = nil {
fmt.Println(err)
return
}
defer conn.Close()
}
W funkcji main połączyłeś się z instancją bazy danych Redis działającą na porcie 6379 i zamknąłeś połączenie metodą Close instancji połączenia i instrukcją odroczenia .
Operacje Redis można wykonywać przy użyciu metody Do instancji połączenia. Metoda Do zwraca interfejs wyjściowy i błąd.
// Set the value "hello"to the key "message"
_, err = conn.Do("SET", "message", "hello")
if err! = nil {
fmt.Println(err)
return
}
Możesz pobrać łańcuch danych wyjściowych operacji Redis za pomocą metody String pakietu redis . Metoda String pobiera instancję operacji i zwraca wartość oraz błąd.
// Get the value of the key "message"
value, err: = redis.String(conn.Do("GET", "message"))
if err! = nil {
fmt.Println(err)
return
}
fmt.Println(value) // Output: "hello"
Możesz używać baz danych SQL w Go
Ekosystem Go obsługuje popularne bazy danych i magazyny danych. Go udostępnia pakiet database/sql jako część standardowej biblioteki do pracy z bazami danych SQL.
Dodaj komentarz