写点什么

Go 语言入门很简单:Go 使用 Redis

作者:宇宙之一粟
  • 2022-10-23
    广东
  • 本文字数:1361 字

    阅读完需:约 4 分钟

Go 语言入门很简单:Go 使用 Redis

在 Redis 官网上有很多 Go 语言的客户端包,提供对 Redis 的访问和操作。


Go-Redis 是能够支持 Redis 集群的 Redis 客户端,是基于 Redigo 的 Redis 客户端的 Go 语言执行。Go-Redis 旨在通过集群更改自动存储和更新槽位信息。Redis 客户端旨在控制每个节点的连接池,从而提高效率并减少延迟。本教程将介绍如何将 Redis Go 客户端 Go-Redis 与 Golang 一起使用。


安装 go-redis/redis


go get get github.com/go-redis/redis
复制代码


创建 redis 链接

func rClient() *redis.Client {	client := redis.NewClient(&redis.Options{		Addr: "localhost:6379",	})
return client}
复制代码


上面的代码创建了一个新的 Redis 客户端,该客户端将连接到 Redis 服务器。此外,可以使用 &redis.Options 定义客户端和一些详细信息,例如 PoolSizeMaxRetriesPasswordDB。在此示例中,Addr 选项用于指定 Redis 服务器的主机名和端口号。


用 Redis Server 检查连接

可以使用如下的代码检查连接到 Redis Server 的状态:

func ping(client *redis.Client) error {	pong, err := client.Ping().Result()	if err != nil {		return err	}	fmt.Println(pong, err)	// Output: PONG <nil>
return nil}
复制代码

上面的代码可以向 Redis 发送 ping 连接测试。如果成功,此测试将返回 PONG <nil> 作为结果,确认已建立与 Redis 服务器的连接,而不会出现错误。


如何使用 Redis 的 SET 命令

接下来执行一个基础的 Redis 的 SET 命令,代码如下:

func set(client *redis.Client) error {	err := client.Set("name", "Kyrie", 0).Err()	if err != nil {		return err	}
err = client.Set("country", "USA", 0).Err() if err != nil { return err } return nil}
复制代码

上面的代码可以设置一个 name 字符串,值为 Kyrie,Country 为 USA。


如何使用 Redis 的 GET 命令

本节将说明如何创建 Go 代码来查询上一节中的字符串指定的值。执行以下脚本以使用 GET 命令:

func get(client *redis.Client) error {	nameVal, err := client.Get("name").Result()	if err != nil {		return (err)	}	fmt.Println("name", nameVal)
countryVal, err := client.Get("country").Result() if err == redis.Nil { fmt.Println("no value found") } else if err != nil { panic(err) } else { fmt.Println("country", countryVal) }
return nil}
复制代码


测试


接着,我们在 main() 函数中测试我们的代码:

func main() {
// creates a client client := rClient()
// check connection status err := ping(client) if err != nil { fmt.Println(err) }
// Using the SET command to set Key-value pair err = set(client) if err != nil { fmt.Println(err) }
// Using the GET command to get values from keys err = get(client) if err != nil { fmt.Println(err) }
}
复制代码


运行结果:

PONG <nil>name Kyriecountry USA
复制代码


总结

本教程介绍了如何将 Redis Go 客户端 Go-Redis 与 Golang 一起使用。本教程重点介绍了如何使用 go-redis/redis 客户端将 Redis 与 Golang 连接起来,并提供了一些示例,演示如何使用 Golang 脚本与 Redis 进行交互。


希望本文能对你有所帮助,如果喜欢本文,可以点个关注.下一篇文章见!

宇宙古今无有穷期,一生不过须臾,当思奋争。

发布于: 刚刚阅读数: 3
用户头像

宇宙古今无有穷期,一生不过须臾,当思奋争 2020-05-07 加入

🏆InfoQ写作平台-签约作者 🏆 混迹于江湖,江湖却没有我的影子 热爱技术,专注于后端全栈,轻易不换岗 拒绝内卷,工作于外企开发,弹性不加班 热衷分享,执着于阅读写作,佛系不水文 同名公众号:《宇宙之一粟》

评论

发布
暂无评论
Go 语言入门很简单:Go 使用 Redis_redis_宇宙之一粟_InfoQ写作社区