Maison  >  Article  >  développement back-end  >  Comment lire les données du cache Golang ?

Comment lire les données du cache Golang ?

WBOY
WBOYoriginal
2024-06-02 15:34:02860parcourir

La lecture des données du cache Golang est divisée en quatre étapes suivantes : Importer le package de cache. Établissez une connexion Redis. Définir la valeur de la clé de cache. Récupérez les données du cache. Ce didacticiel fournit un exemple pratique de la manière de récupérer le nom et l'âge d'un utilisateur à partir du cache. Cette technique permet d'améliorer les performances des applications en réduisant les accès aux bases de données en mettant en cache les données fréquemment utilisées.

如何从 Golang 缓存中读取数据?

Comment lire les données du cache Golang ?

Le mécanisme de mise en cache de Golang offre des options pour stocker et récupérer efficacement les données. Ce tutoriel vous expliquera comment lire les données du cache Golang et vous fournira un cas pratique pour le démontrer en action.

Étape 1 : Importer le package de cache

import (
    "context"
    "fmt"
    "log"
    "time"

    "github.com/go-redis/redis/v8"
)

Étape 2 : Établir une connexion Redis

func connectRedis() (*redis.Client, error) {
    client := redis.NewClient(&redis.Options{
        Addr:     "localhost:6379", // Redis 服务器地址
        Password: "",              // 密码(如果需要)
        DB:       0,               // 数据库索引
    })

    _, err := client.Ping(context.Background()).Result()
    if err != nil {
        return nil, err
    }

    return client, nil
}

Étape 3 : Définir la valeur de la clé de cache

Supposons que nous stockions le nom de l'utilisateur nommé "user1 " .

func setCache(client *redis.Client) {
    // 设置键 "user1" 的值为 "Alice"
    err := client.Set(context.Background(), "user1", "Alice", 0).Err()
    if err != nil {
        log.Fatal(err)
    }

    // 设置键 "user1_age" 的值为 25
    err = client.Set(context.Background(), "user1_age", 25, 0).Err()
    if err != nil {
        log.Fatal(err)
    }
}

Étape 4 : Récupérer les données du cache

func getCache(client *redis.Client) {
    // 获取键 "user1" 的值
    val, err := client.Get(context.Background(), "user1").Result()
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("User Name: %s\n", val)

    // 获取键 "user1_age" 的值并转换为 int
    age, err := client.Get(context.Background(), "user1_age").Int()
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("User Age: %d\n", age)
}

Exemple pratique

Dans l'exemple suivant, nous récupérons le nom d'utilisateur et l'âge du cache :

func main() {
    client, err := connectRedis()
    if err != nil {
        log.Fatal(err)
    }
    defer client.Close()

    setCache(client)
    getCache(client)
}

Lorsque vous exécutez cet exemple, vous verrez Le résultat suivant :

User Name: Alice
User Age: 25

Les étapes ci-dessus montrent comment lire les données du cache Golang. Vous pouvez utiliser cette technique pour améliorer les performances des applications en mettant en cache les données fréquemment utilisées afin de réduire les accès aux bases de données.

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