golang操作redis一般有两种库,一个是go-redis,一个是redigo,在这里我们主要介绍go-redis的使用。

go-redis.png

golang:1.5+

安装

  1. 使用go mod 初始化项目
go mod init github.com/dreamfly2012/demo-redis
  1. 下载go-redis依赖
go get github.com/go-redis/redis/v8
  1. 在项目中引入go-redis
import "github.com/go-redis/redis/v8"

使用

  1. 初始化context
ctx := context.Background()
  1. 初始化redis客户端
rdb := redis.NewClient(&redis.Options{
        Addr:     "localhost:6379",
        Password: "", // no password set
        DB:       0,  // use default DB
    })
  1. 操作redis
err := rdb.Set(ctx, "key", "value", 0).Err()
    if err != nil {
        panic(err)
    }

完整代码

package main

import (
    "context"
    "github.com/go-redis/redis/v8"
)

func main() {
    ctx := context.Background()

    rdb := redis.NewClient(&redis.Options{
        Addr:     "localhost:6379",
        Password: "", // no password set
        DB:       0,  // use default DB
    })

    err := rdb.Set(ctx, "key", "value", 0).Err()
    if err != nil {
        panic(err)
    }

    val, err := rdb.Get(ctx, "key").Result()
    if err != nil {
        panic(err)
    }
    fmt.Println("key", val)

    val2, err := rdb.Get(ctx, "key2").Result()
    if err == redis.Nil {
        fmt.Println("key2 does not exist")
    } else if err != nil {
        panic(err)
    } else {
        fmt.Println("key2", val2)
    }
    // Output: key value
    // key2 does not exist
}