更新时间:2024-07-29 GMT+08:00

Go-redis客户端连接Redis(Go)

本章节介绍使用go-redis客户端连接Redis实例的方法。更多的客户端的使用方法请参考Redis客户端

以下操作以通过弹性云服务器上的客户端连接Redis实例为例进行说明。

前提条件

  • 已成功申请Redis实例,且状态为“运行中”。
  • 查看并获取待连接Redis实例的IP地址和端口。

    具体步骤请参见查看实例信息

  • 已创建弹性云服务器,创建弹性云服务器的方法,请参见《弹性云服务器用户指南》。

Go-redis客户端连接Redis

  1. 登录弹性云服务器。

    弹性云服务器操作系统,这里以Window为例。

  2. 在弹性云服务器安装VS 2017社区版。
  3. 启动VS 2017,新建一个工程,工程名自定义,这里设置为“redisdemo”。
  4. 导入go-redis的依赖包,在终端输入go get github.com/go-redis/redis

    图1 终端输入

  5. 编写如下代码:

    package main
    
    import (
    	"fmt"
    	"github.com/go-redis/redis"
    )
    
    func main() {
    	// 单机
    	rdb := redis.NewClient(&redis.Options{
    		Addr:     "host:port",
    		Password: "********", // no password set
    		DB:       0,  // use default DB
    	})
    
    	val, err := rdb.Get("key").Result()
    	if err != nil {
    		if err == redis.Nil {
    			fmt.Println("key does not exists")
    			return
    		}
    		panic(err)
    	}
    	fmt.Println(val)
    
    	//集群
    	rdbCluster := redis.NewClusterClient(&redis.ClusterOptions{
    		Addrs:    []string{"host:port"},
    		Password: "********",
    	})
    	val1, err1 := rdbCluster.Get("key").Result()
    	if err1 != nil {
    		if err == redis.Nil {
    			fmt.Println("key does not exists")
    			return
    		}
    		panic(err)
    	}
    	fmt.Println(val1)
    }

    其中,host:port分别为Redis实例的IP地址以及端口。IP地址和端口获取见前提条件,请按实际情况修改后执行。********为创建Redis实例时自定义的密码,请按实际情况修改后执行。

  6. 执行go build -o test main.go命令进行打包,如打包名为test可执行文件。

    若打包后需要在Linux系统下运行则需要在打包前设置:

    set GOARCH=amd64

    set GOOS=linux

  7. 执行./test连接实例。