Des lecteurs comme vous aident à soutenir MUO. Lorsque vous effectuez un achat en utilisant des liens sur notre site, nous pouvons gagner une commission d'affiliation. En savoir plus.

Redis est un magasin de structure de données en mémoire, largement utilisé pour la mise en cache, l'analyse en temps réel et le courtage de messages. C'est un choix populaire pour les développeurs en raison de sa vitesse ultra-rapide et de son riche ensemble de fonctionnalités.

Redis prend en charge de nombreuses structures de données, notamment les chaînes, les hachages, les listes, les collections et les ensembles triés. Il offre également une prise en charge intégrée de la messagerie de publication/abonnement, une prise en charge des transactions et des scripts Lua.

Il existe plusieurs clients Redis populaires pour les développeurs Go, chacun avec des caractéristiques et des fonctionnalités uniques. Les trois clients Redis suivants sont les plus populaires parmi les développeurs Go.

1. Le forfait go-redis

Le

instagram viewer
allez-redis package est une bibliothèque client Go populaire pour la base de données Redis. Il fournit une API simple et facile à utiliser pour interagir avec Redis, et le package prend en charge toutes les commandes Redis.

Le package go-redis est populaire parmi les développeurs Go en raison de ses performances, de sa fiabilité et de son interface facile à utiliser. Vous trouverez le package utile pour les fonctionnalités de gestion des sessions à la mise en cache, à la mise en file d'attente des messages, etc.

Exécutez cette commande dans le terminal du répertoire de votre projet pour installer le package go-redis.

aller obtenir github.com/aller-redis/redis

Voici comment importer le package go-redis dans votre projet.

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

L'instanciation d'une nouvelle connexion à une base de données Redis avec le package go-redis est simple. Vous utiliserez le Nouvelle cliente méthode de la redis paquet, qui accepte le Choix struct contenant les détails de la configuration.

fonctionprincipal() {
client := redis. NouveauClient(&redis. Choix{
Adresse: "hôte local: 6379",
Mot de passe: " ", // aucun mot de passe défini
})
}

Dans le principal fonction, la client La variable est l'instance de connexion du client Redis. Vous pouvez initialiser le Choix structure avec Adresse et Mot de passe champs contenant respectivement l'adresse et le mot de passe de la base de données.

Lors de la création d'une instance de client Redis, vous pouvez envoyer un ping à la base de données pour vérifier votre connexion avec le Ping méthode. Vous pouvez utiliser le Résultat sur la méthode Ping, qui renvoie l'état et une erreur.

pong, euh := client. Ping().Résultat()

si erreur != néant {
fmt. Println (erreur)
retour
}

fmt. Println (pong, euh)

Vous pouvez ajouter une paire clé-valeur à votre base de données avec le Ensemble méthode de votre instance client. En utilisant le Se tromper La méthode sur une opération renvoie une erreur que vous pouvez gérer.

// Définir une clé
erreur = client. Ensemble("clé", "valeur", 0).Se tromper()

si erreur != néant {
fmt. Println (erreur)
retour
}

Vous pouvez récupérer une valeur de la base de données avec la clé en utilisant le Obtenir méthode de votre instance client. En utilisant le Résultat La méthode sur une opération renvoie le résultat de l'opération et une erreur.

// Récupère une clé
val, erreur := client. Obtenir("clé").Résultat()

si erreur != néant {
fmt. Println (erreur)
retour
}

fmt. Imprimerln("clé", val)

2. Le forfait Radix

Le Base package est une bibliothèque qui fournit un client pour le magasin de structure de données en mémoire Redis. Le package Radix résume le package Redigo pour fournir une API facile à utiliser pour interagir avec Redis.

Le package Radix prend en charge toutes les commandes Redis, y compris Script Lua et Pub/Sub, regroupement de connexions et reconnexions automatiques qui permettent des opérations efficaces et résilientes avec Redis, prise en charge de Clusters Redis incluant le partitionnement transparent et le basculement, et une conception légère et efficace permettant une faible latence et une haute débit.

Vous trouverez le package Radix très utile si vous cherchez à ajouter un support Redis rapide à vos projets Go depuis le package résume les complexités sous-jacentes du protocole Redis, rendant la mise en cache, la gestion de session et la mise en file d'attente des messages Plus facile.

Exécutez cette commande pour installer la troisième version du package Radix dans le répertoire de travail de votre projet.

aller obtenir github.com/mediocregopher/radix/v3

Voici comment vous pouvez importer le Base package dans votre programme.

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

Vous pouvez utiliser le Cadran méthode de la base package pour se connecter à un serveur Redis. Le Cadran La méthode accepte le type de connexion et l'adresse du serveur Redis et renvoie une instance de connexion et une erreur.

fonctionprincipal() {
// se connecter au serveur redis
conn, err := base. Cadran("TCP", "hôte local: 6379")

si erreur != néant {
fmt. Println (erreur)
retour
}

reporter Connecticut. Fermer()
}

Dans la fonction principale, vous avez créé une instance de connexion Redis avec le Cadran méthode et a fermé la connexion avec la Fermer méthode et une reporter déclaration.

Vous pouvez exécuter des commandes Redis avec le Commande méthode de la base emballer. Le Commande La méthode accepte une interface, une commande et les valeurs de la commande.

erreur = conn. Faire (base. Commande(néant, "ENSEMBLE", "ma clé", "ma valeur"))

si erreur != néant {
fmt. Imprimerln("Erreur lors de la configuration de la clé: ", euh)
} autre {
fmt. Imprimerln("Clé définie avec succès")
}

Le Faire La méthode inclut l'opération et renvoie une erreur.

De même, vous pouvez récupérer des valeurs de votre base de données avec le FlatCmd méthode. Le FlatCmd La méthode prend la référence à une variable, la commande et la clé.

var val chaîne
erreur = conn. Faire (base. FlatCmd(&val, "OBTENIR", "ma clé"))

si erreur != néant {
fmt. Imprimerln("Erreur lors de la récupération de la clé :", euh)
} autre {
fmt. Imprimerln("La valeur de ma clé est", val)
}

Lorsque vous exécutez ce code, vous devriez voir une sortie semblable à celle-ci:

3. Le forfait Redigo

Le Redigo package est une autre bibliothèque client Go populaire pour Redis. Contrairement à Base et Go-redis, le Redigo package est un client léger qui fournit une interface simple et efficace pour interagir avec Redis.

L'un des arguments de vente de Redigo est sa performance, malgré sa légèreté. Redigo fournit une API de type impression avec prise en charge de toutes les commandes Redis, et le package est couramment utilisé pour le pipelining, le pub-sub, le regroupement de connexions et d'autres opérations.

Exécutez cette commande de terminal pour installer le redigo package et commencer.

aller obtenir github.com/gomodule/redigo/redis

Voici comment vous pouvez importer le package redigo dans vos fichiers de projet.

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

Vous pouvez utiliser le Cadran méthode de la redis package pour se connecter à une instance de base de données Redis. La méthode Dial prend un type de connexion et une adresse et renvoie l'instance de connexion et une erreur.

fonctionprincipal() {
// Se connecter à l'instance Redis
conn, err := redis. Cadran("TCP", "hôte local: 6379")

si erreur != néant {
fmt. Println (erreur)
retour
}

reporter Connecticut. Fermer()
}

Dans le principal fonction, vous vous êtes connecté à une instance de base de données Redis exécutée sur le port 6379 et a fermé la connexion avec le Fermer méthode de l'instance de connexion et une reporter déclaration.

Vous pouvez exécuter des opérations Redis à l'aide de Faire méthode de votre instance de connexion. La méthode Do renvoie une interface de sortie et une erreur.

// Définissez la valeur "hello" sur la clé "message"
_, erreur = conn. Faire("ENSEMBLE", "message", "Bonjour")

si erreur != néant {
fmt. Println (erreur)
retour
}

Vous pouvez récupérer une sortie de chaîne d'une opération Redis avec le Chaîne méthode de la redis emballer. La méthode String prend l'instance de l'opération et renvoie la valeur et une erreur.

// Récupère la valeur de la clé "message"
valeur, err := redis. Chaîne (connect. Faire("OBTENIR", "message"))

si erreur != néant {
fmt. Println (erreur)
retour
}

fmt. Println (valeur) // Sortie: "bonjour"

Vous pouvez utiliser des bases de données SQL avec Go

L'écosystème Go prend en charge les bases de données et les magasins de données populaires. Go fournit le package database/sql dans le cadre de la bibliothèque standard pour travailler avec des bases de données SQL.