Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk membaca data dari cache Golang?

Bagaimana untuk membaca data dari cache Golang?

WBOY
WBOYasal
2024-06-02 15:34:02862semak imbas

Membaca data daripada cache Golang terbahagi kepada empat langkah berikut: Import pakej cache. Wujudkan sambungan Redis. Tetapkan nilai kunci cache. Dapatkan data daripada cache. Tutorial ini menyediakan contoh praktikal tentang cara mendapatkan semula nama dan umur pengguna daripada cache. Teknik ini membantu meningkatkan prestasi aplikasi dengan mengurangkan akses pangkalan data dengan menyimpan data yang kerap digunakan.

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

Bagaimana untuk membaca data dari cache Golang?

Mekanisme caching Golang menyediakan pilihan untuk menyimpan dan mendapatkan data dengan cekap. Tutorial ini akan membimbing anda tentang cara membaca data daripada cache Golang dan menyediakan kes praktikal untuk menunjukkannya dalam tindakan.

Langkah 1: Import pakej cache

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

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

Langkah 2: Wujudkan sambungan 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
}

Langkah 3: Tetapkan nilai kunci cache

nama pengguna yang kami namakan

Suppose nama pengguna " .

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)
    }
}

Langkah 4: Dapatkan data daripada 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)
}

Contoh praktikal

Dalam contoh berikut, kami mendapatkan semula nama pengguna dan umur daripada cache:

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

    setCache(client)
    getCache(client)
}

Apabila anda melihat contoh ini, anda akan melihat output berikut:

User Name: Alice
User Age: 25

Langkah di atas menunjukkan cara membaca data daripada cache Golang. Anda boleh menggunakan teknik ini untuk meningkatkan prestasi aplikasi dengan menyimpan data yang kerap digunakan untuk mengurangkan akses pangkalan data.

Atas ialah kandungan terperinci Bagaimana untuk membaca data dari cache Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn