Bagaimana untuk membaca data dari cache Golang?

WBOY
Lepaskan: 2024-06-02 15:34:02
asal
849 orang telah melayarinya

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"
)
Salin selepas log masuk

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
}
Salin selepas log masuk

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)
    }
}
Salin selepas log masuk

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)
}
Salin selepas log masuk

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)
}
Salin selepas log masuk

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

User Name: Alice
User Age: 25
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan