


Apprenez les fonctions de base de données en langage Go et implémentez les opérations de lecture et d'écriture dans le cluster Redis
Apprenez les fonctions de base de données dans le langage Go et implémentez des opérations de lecture et d'écriture dans le cluster Redis
Introduction :
La base de données est un élément indispensable des applications Internet d'aujourd'hui, et le langage Go, en tant que langage de programmation simple et efficace, possède également de bonnes capacités d'exploitation de base de données . Cet article expliquera comment utiliser les fonctions de base de données en langage Go et implémenter les opérations de lecture et d'écriture dans le cluster Redis.
1. Fonctions de base de données en langage Go
Les opérations de base de données en langage Go sont principalement implémentées via le package base de données/sql. Ce package fournit des fonctions de base d'exploitation de base de données, notamment la connexion à la base de données, l'exécution d'instructions SQL, le traitement des jeux de résultats, etc.
-
Connectez-vous à la base de données
En langage Go, nous pouvons nous connecter à la base de données via la fonction Open du package database/sql. Cette fonction accepte deux paramètres : le nom du pilote de la base de données et les informations de connexion de la base de données, par exemple :import "database/sql" import _ "github.com/go-sql-driver/mysql" db, err := sql.Open("mysql", "root:password@tcp(127.0.0.1:3306)/database") if err != nil { log.Fatal(err) } defer db.Close()
Dans le code ci-dessus, nous utilisons le pilote mysql pour nous connecter à la base de données MySQL locale. Le nom d'utilisateur est root, le mot de passe est mot de passe et le nom de la base de données est base de données.
-
Exécuter des instructions SQL
Après la connexion à la base de données, nous pouvons exécuter des instructions SQL via des fonctions telles que db.Exec ou db.Query. La fonction Exec est utilisée pour exécuter des instructions SQL qui ne renvoient pas de jeu de résultats, telles que l'insertion, la mise à jour, la suppression, etc. ; la fonction Query est utilisée pour exécuter des instructions SQL qui renvoient un jeu de résultats, telles que des opérations de requête. Un exemple est le suivant :stmt, err := db.Prepare("INSERT INTO users(email, password) VALUES(?, ?)") if err != nil { log.Fatal(err) } defer stmt.Close() result, err := stmt.Exec("test@example.com", "password123") if err != nil { log.Fatal(err) } lastInsertID, err := result.LastInsertId() if err != nil { log.Fatal(err) } fmt.Println(lastInsertID)
Dans le code ci-dessus, nous utilisons la fonction Prepare pour précompiler une instruction d'insertion et lier les paramètres à ?, puis exécutons l'instruction d'insertion via la fonction Exec, et le résultat de retour est stocké dans le variable de résultat. L'ID d'auto-incrémentation des données insérées peut être obtenu via result.LastInsertId().
-
Traitement des ensembles de résultats
Lors de l'exécution d'une instruction SQL qui renvoie un ensemble de résultats, nous pouvons utiliser la fonction Rows pour obtenir les résultats de la requête. Ensuite, chaque élément de données est traité en parcourant l'ensemble de résultats. L'exemple est le suivant :rows, err := db.Query("SELECT id, email FROM users") if err != nil { log.Fatal(err) } defer rows.Close() for rows.Next() { var id int var email string err := rows.Scan(&id, &email) if err != nil { log.Fatal(err) } fmt.Println(id, email) }
Dans le code ci-dessus, nous avons exécuté une instruction de requête via la fonction db.Query et stocké le résultat dans la variable rows. Parcourez ensuite chaque élément de données via rows.Next et enregistrez les données dans la variable correspondante via rows.Scan.
2. Implémenter les opérations de lecture et d'écriture dans le cluster Redis
Redis est une base de données de stockage clé-valeur hautes performances qui peut être exploitée en langage Go via le package go-redis/redis. Nous utiliserons ensuite ce package pour implémenter les opérations de lecture et d'écriture dans le cluster Redis.
-
Connexion au cluster Redis
En langage Go, on peut se connecter au cluster Redis via la fonction redis.NewClusterClient. Un exemple est le suivant :import "github.com/go-redis/redis/v8" cluster := redis.NewClusterClient(&redis.ClusterOptions{ Addrs: []string{"node1:6379", "node2:6379", "node3:6379"}, }) defer cluster.Close()
Dans le code ci-dessus, nous avons créé un objet redis.ClusterClient et spécifié l'adresse du nœud du cluster Redis via le paramètre ClusterOptions.
-
Écrire des données sur le cluster Redis
Après la connexion au cluster Redis, nous pouvons utiliser la fonction Set pour écrire des données sur le cluster. Un exemple est le suivant :err := cluster.Set(context.Background(), "key", "value", 0).Err() if err != nil { log.Fatal(err) }
Dans le code ci-dessus, nous écrivons un élément de données clé-valeur dans le cluster Redis via la fonction cluster.Set Le délai d'expiration est de 0, ce qui signifie qu'il n'expirera jamais.
-
Lecture des données du cluster Redis
Après la connexion au cluster Redis, nous pouvons utiliser la fonction Get pour lire les données du cluster. Un exemple est le suivant :val, err := cluster.Get(context.Background(), "key").Result() if err != nil { log.Fatal(err) } fmt.Println(val)
Dans le code ci-dessus, nous lisons la valeur correspondant à la clé du cluster Redis via la fonction cluster.Get et l'imprimons.
Résumé :
Cet article présente les fonctions de base de données dans l'apprentissage du langage Go et implémente les opérations de lecture et d'écriture du cluster Redis. Grâce aux fonctions de base de données, nous pouvons facilement nous connecter à la base de données, exécuter des instructions SQL et traiter des ensembles de résultats. Grâce au package go-redis/redis, nous pouvons facilement interagir avec le cluster Redis pour réaliser des opérations de stockage et de lecture efficaces. J'espère que cet article pourra aider les lecteurs à mieux comprendre les fonctions de base de données en langage Go et à les appliquer à des projets réels.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Golang convient au développement rapide et à la programmation simultanée, tandis que C est plus adapté aux projets qui nécessitent des performances extrêmes et un contrôle sous-jacent. 1) Le modèle de concurrence de Golang simplifie la programmation de concurrence via le goroutine et le canal. 2) La programmation du modèle C fournit un code générique et une optimisation des performances. 3) La collecte des ordures de Golang est pratique mais peut affecter les performances. La gestion de la mémoire de C est complexe mais le contrôle est bien.

GOIMIMPACTSDEVENCEMENTSPOSITIVEMENTS INSPECT, EFFICACTION ET APPLICATION.1) VITESSE: GOCOMPILESQUICKLYANDRUNSEFFIÉMENT, IDEALFORLARGEPROROSTS.2) Efficacité: ITSCOMPEHENSIVESTANDARDLIBRARYREDUCEEXTERNEDENDENCES, EnhancingDevelovefficiency.3) Simplicité: Simplicité: Implicité de la manière

C est plus adapté aux scénarios où le contrôle direct des ressources matérielles et une optimisation élevée de performances sont nécessaires, tandis que Golang est plus adapté aux scénarios où un développement rapide et un traitement de concurrence élevé sont nécessaires. 1.C's Avantage est dans ses caractéristiques matérielles proches et à des capacités d'optimisation élevées, qui conviennent aux besoins de haute performance tels que le développement de jeux. 2. L'avantage de Golang réside dans sa syntaxe concise et son soutien à la concurrence naturelle, qui convient au développement élevé de services de concurrence.

Golang excelle dans les applications pratiques et est connu pour sa simplicité, son efficacité et sa concurrence. 1) La programmation simultanée est implémentée via des goroutines et des canaux, 2) le code flexible est écrit à l'aide d'interfaces et de polymorphismes, 3) Simplifier la programmation réseau avec des packages Net / HTTP, 4) Construire des robots concurrents efficaces, 5) Déboggage et optimisation par le biais d'outils et de meilleures pratiques.

Les caractéristiques principales de GO incluent la collection de déchets, la liaison statique et le support de concurrence. 1. Le modèle de concurrence du langage GO réalise une programmation concurrente efficace via le goroutine et le canal. 2. Les interfaces et les polymorphismes sont implémentés via des méthodes d'interface, de sorte que différents types peuvent être traités de manière unifiée. 3. L'utilisation de base démontre l'efficacité de la définition et de l'appel des fonctions. 4. Dans une utilisation avancée, les tranches offrent des fonctions puissantes de redimensionnement dynamique. 5. Des erreurs courantes telles que les conditions de course peuvent être détectées et résolues par l'imagerie. 6. Optimisation des performances Réutiliser les objets via Sync.Pool pour réduire la pression de collecte des ordures.

GO Language fonctionne bien dans la construction de systèmes efficaces et évolutifs. Ses avantages incluent: 1. Haute performance: compilé en code machine, vitesse de course rapide; 2. Programmation simultanée: simplifier le multitâche via les goroutines et les canaux; 3. Simplicité: syntaxe concise, réduction des coûts d'apprentissage et de maintenance; 4. Plate-forme multipliée: prend en charge la compilation multiplateforme, déploiement facile.

Confus quant au tri des résultats de la requête SQL. Dans le processus d'apprentissage de SQL, vous rencontrez souvent des problèmes déroutants. Récemment, l'auteur lit "Mick-SQL Basics" ...

La relation entre la convergence des piles technologiques et la sélection de la technologie dans le développement de logiciels, la sélection et la gestion des piles technologiques sont un problème très critique. Récemment, certains lecteurs ont proposé ...


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel