更方便的在微信公众号阅读文章可以关注公众号:海生的go花园
图片

一、介绍
在go语言中使用redis库,主要有 go-redis以及redigo。
我们这里推荐使用go-redis,主要有两点原因,

  • go-redis支持集群客户端
  • go-redis支持类型安全

而且在 github上,go-redis的星数,也是redisgo的近1.5倍。
二、安装
我们新建一个项目目录,然后在这个项目里,引用并且使用go-redis
1.新建项目目录

mkdir redis_test && cd redis_test

2.初始化go module项目

go mod init github/hisheng/redis_test

此时会生成一个go.mod文件,我们打开看一下cat go.mod发现代码如下:

    module github/hisheng/redis_test

    go 1.18

3.安装go-redis,我这里选择go-redis/v8

如果您使用的是Redis 6,请安装 go-redis/v8:
如果您使用的是Redis 7,请安装 go-redis/v9:

我们在项目根目录,redis_test目录执行如下代码:

go get github.com/go-redis/redis/v8

执行完我们会发现,go.mod文件发成了变化,如下:

module github/hisheng/redis_test

go 1.18

require (
    github.com/cespare/xxhash/v2 v2.1.2 // indirect
    github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
    github.com/go-redis/redis/v8 v8.11.5 // indirect
)

就是我们刚才安装的go-redis以及其依赖库。

二、client连接客户端

我们先建立一个test.go文件用来写代码

touch redis_test.go

2.1 使用reids.NewClient新建客户端

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

func TestRedisClient(t *testing.T) {
    client := redis.NewClient(&redis.Options{
        Addr:     "r-.redis.com:6379",
        Username: "11",
        Password: "11",
        DB:       9,
    })
    _, err := client.Ping(context.Background()).Result()
    if err != nil {
        t.Log(err)
    }
}

2.2 使用reids.NewClusterClient新建集群客户端

client := redis.NewClusterClient(&redis.ClusterOptions{
        Addrs:    []string{"r-a.redis.com:6379"},
        Username: "hisheng",
        Password: "1111",
    })
    _, err := client.Ping(context.Background()).Result()
    if err != nil {
        t.Log(err)
    }

海生
104 声望33 粉丝

与黑夜里,追求那一抹萤火。