更新时间:2024-10-26 GMT+08:00
通过Go语言连接实例
本章节主要介绍使用Go语言访问GeminiDB Redis实例的方法。
前提条件
- 已成功创建GeminiDB Redis实例,且实例状态为“正常”。
- 已创建弹性云服务器,创建弹性云服务器的方法,请参见《弹性云服务器快速入门》中“购买弹性云服务器”章节。
- 弹性云服务器上已经安装GCC等编译工具。
- 创建的弹性云服务器与GeminiDB Redis实例要保证区域、可用区、VPC和安全组一致。
操作步骤
- 获取GeminiDB Redis实例的负载均衡地址和端口信息。
- 负载均衡地址的查看方法请参见查看负载均衡地址及端口。
- 端口信息的获取方法请参见查看实例节点端口。
- 登录弹性云服务器,具体操作请参见《弹性云服务器快速入门》中“登录弹性云服务器”。
- 使用Golang客户端连接GeminiDB Redis实例,本文以使用go-redis SDK为例。
- go-redis的下载地址为:https://github.com/go-redis/redis。
- 使用单机方式连接GeminiDB Redis集群
package main import ( "fmt" "github.com/go-redis/redis" "os" ) func main() { // 认证用的用户名和密码直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中存放(密码应密文存放、使用时解密),确保安全; // 本示例以用户名和密码保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量(环境变量名称请根据自身情况进行设置)EXAMPLE_USERNAME_ENV和EXAMPLE_PASSWORD_ENV。 password = os.Getenv("EXAMPLE_PASSWORD_ENV") client := redis.NewClient(&redis.Options{ Addr: "xx.xx.xx.xx:8635", //步骤1获取到的负载均衡地址 Password: password, DB: 0, // 使用默认的0号数据库 }) pong, err := client.Ping().Result() fmt.Println(pong, err) err = client.Set("key1", "value1", 0).Err() if err != nil { panic(err) } val, err := client.Get("key1").Result() if err != nil { panic(err) } fmt.Println("key1", val) }
预期输出为:
PONG key1 value1
- 使用go-redis连接GeminiDB Redis时,需要使用普通模式,不能使用集群模式,如上示例代码所示。
- 上述实例代码中的GeminiDB Redis地址和密码,请根据实际情况填写。
- 使用集群方式连接GeminiDB Redis集群
package main import ( "fmt" "github.com/go-redis/redis" ) func main() { client := redis.NewClusterClient(&redis.ClusterOptions{ Addrs: []string{ // 步骤1获取到的负载均衡地址 " xx.xx.xx.xx:8635", }, Password: "xx", // 密码 }) pong, err := client.Ping().Result() fmt.Println(pong, err) err = client.Set("key1", "value1", 0).Err() if err != nil { panic(err) } val, err := client.Get("key1").Result() if err != nil { panic(err) } fmt.Println("key1", val) }
父主题: 客户端通过代码连接实例示例