Maison  >  Article  >  développement back-end  >  Utiliser RethinkDB dans Go : un guide complet

Utiliser RethinkDB dans Go : un guide complet

WBOY
WBOYoriginal
2023-06-17 08:15:341577parcourir

Avec l'avènement de l'ère du big data, de plus en plus d'entreprises et de développeurs commencent à utiliser les bases de données NoSQL comme choix de stockage et de gestion des données. Parmi eux, RethinkDB est une base de données NoSQL très populaire qui fournit une architecture de stockage distribuée, un transfert de données en temps réel et de puissantes fonctions de requête. Le langage Go est l’un des langages les plus en vogue ces dernières années, avec les avantages d’efficacité, de rapidité et de sécurité. Cet article explique comment utiliser RethinkDB en langage Go pour améliorer l'efficacité du traitement des données et les performances des applications.

  1. Installez RethinkDB

Tout d'abord, vous devez installer RethinkDB. RethinkDB prend en charge plusieurs systèmes d'exploitation, notamment MacOS, Linux et Windows. Vous pouvez le télécharger depuis le site officiel et l'installer conformément au guide d'installation.

  1. Installer le pilote RethinkDB

L'utilisation de RethinkDB en langage Go nécessite l'installation d'un pilote. L'un des pilotes couramment utilisés est rethinkdb-go, qui fournit un client en langage Go permettant aux développeurs d'interagir à l'aide de l'API de RethinkDB.

Utilisez la commande suivante pour installer :

go get gopkg.in/gorethink/gorethink.v4
  1. Établir une connexion

Après avoir installé avec succès le pilote, vous devez établir une connexion. La connexion est une étape nécessaire pour communiquer avec le serveur RethinkDB. Utilisez le code suivant pour établir une connexion au serveur RethinkDB :

import (
    "github.com/gorethink/gorethink"
)

func main() {
    session, err := gorethink.Connect(gorethink.ConnectOpts{
        Address:  "localhost:28015",
        Database: "test",
    })
    if err != nil {
        log.Fatalln(err.Error())
    }
    defer session.Close()
}

Dans le code ci-dessus, le mot-clé gorethink.Connect()函数使用RethinkDB的IP地址和端口信息进行连接。defer se déconnectera de RethinkDB après la fin du code. Des opérations ultérieures peuvent être réalisées sur cette base.

  1. Création de tables et d'index

Pour créer des tables et définir des index dans RethinkDB, vous devez utiliser l'API de RethinkDB. Utilisez le code suivant pour créer une nouvelle table :

err := gorethink.DB("test").TableCreate("users").Exec(session)

L'exemple de code pour créer un index est le suivant :

err := gorethink.DB("test").Table("users").IndexCreate("email").Exec(session)
  1. Ajouter, supprimer, modifier et interroger

Dans RethinkDB, les opérations d'ajout, de suppression, de modification et l'interrogation des données est très simple. Grâce à une API simple et pratique, le traitement des données peut être effectué rapidement.

Voici quelques exemples d'appels de fonctions API de base :

Opération d'insertion :

err := gorethink.Table("users").Insert(map[string]string{
    "name": "jason",
    "email": "jason@gmail.com",
}).Exec(session)

Opération de requête :

rows, err := gorethink.Table("users").Filter(map[string]string{
    "name": "jason",
}).Run(session)

if err != nil {
    log.Fatalln(err.Error())
}
 
var result []interface{}
if err := rows.All(&result); err != nil {
    log.Fatalln(err.Error())
}

Opération de mise à jour :

err := gorethink.Table("users").Get("jason").Update(map[string]string{
    "email": "newemail@gmail.com",
}).Exec(session)

Opération de suppression :

err := gorethink.Table("users").Get("jason").Delete().Exec(session)
  1. Mise à jour en temps réel

RethinkDB fournit des - fonction de poussée des données temporelles. Cela signifie que chaque fois que les données de la base de données changent, le client en est immédiatement informé. Cette fonctionnalité peut être utilisée dans des scénarios d'application en temps réel, tels que le chat instantané.

Le code permettant de définir un push de données en temps réel est le suivant :

cursor, err := gorethink.Table("users").Changes(gorethink.ChangesOpts{
    IncludeInitial: true,
}).Run(session)

for cursor.Next(&change) {
    fmt.Printf("Type: %s, OldValue: %v, NewValue: %v
",
        change.Type,
        change.OldValue,
        change.NewValue,
    )
}
  1. Résumé

RethinkDB fournit aux développeurs une solution de base de données NoSQL riche en fonctionnalités, rapide et évolutive. En combinaison avec le langage Go, l'efficacité du traitement des données et les performances des applications atteindront un niveau supérieur. Cet article présente comment utiliser RethinkDB en langage Go, y compris les opérations de base telles que l'installation, la connexion, la création de tables et d'index, ainsi que l'ajout, la suppression, la modification et la requête. La fonction de transmission de données en temps réel fournie par RethinkDB est également introduite. Avec l'introduction de cet article, les lecteurs peuvent commencer à utiliser RethinkDB dans leurs propres applications.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn