更方便的在微信公众号阅读文章可以关注公众号:海生的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)
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。