【笔记】Go语言通过gomodule提供的包操作Redis

前言

Go语言通过github.com/gomodule/redigo/redis包操作Redis学习笔记

下载依赖

1
go get github.com/gomodule/redigo/redis

连接数据库

1
2
conn, _ := redis.Dial("tcp", ":6379")
defer conn.Close()

执行命令

1
conn.Do("set", "key", "value")

新增数据

  • 先通过send()方法将命令添加到缓冲区,再通过flush()方法执行命令
1
2
conn.Send("set", "key", "value")
conn.Flush()

查询数据

  • 先通过Send()方法将命令添加到缓冲区,再通过Flush()方法执行命令,最后通过Receive()方法获取返回值
1
2
3
conn.Send("get", "key")
conn.Flush()
res, err := conn.Receive()

将查询到的结果强制类型转换

转换为string类型

1
res, err := redis.String(conn.Do("get", "key"))

转换为bool类型

1
res, err := redis.Bool(conn.Do("get", "key"))

转换为int类型

1
res, err := redis.Int(conn.Do("get", "key"))

取出字节流

  • 取出多种数据类型的数据
  • 先去除字节流数据,再扫描数据的数据类型
1
2
3
4
res, err := redis.Values(conn.Do("mget", "key1", "key2"))
var key1 string
var key2 int
redis.Scan(res, &key1, &key2)

完成

参考文献

哔哩哔哩——地鼠文档