介紹使用(yong)同(tong)一VPC內彈性云主機ECS上的go Redis客(ke)戶(hu)端連接(jie)Redis實例的方(fang)法(fa)。更(geng)多的客(ke)戶(hu)端的使用(yong)方(fang)法(fa)請參考(kao)。
前提條件
- 已成功申請Redis實例,且狀態為“運行中”。
- 已創建彈性云主機,創建彈性云主機的方法,請參見《彈性云主機用戶指南》。
操作步驟
步驟 1 查看并獲取待連接Redis實例(li)的IP地址和端口(kou)。
具體步驟請參見查看實例信息。
步驟 2 登(deng)錄彈(dan)性云(yun)主機。
彈性云主機操(cao)作系統,這里(li)以Window為(wei)例。
步驟(zou) 3 在彈(dan)性(xing)云主機安裝VS 2017社區版(ban)。
步驟 4 啟動(dong)VS 2017,新建一個工程,工程名自定(ding)義,這里(li)設置為“redisdemo”。
步驟 5 導入go-redis的依賴包,在終端輸入 go get github.com/go-redis/redis 。
終端輸入


步驟 6 編寫如(ru)下代碼:
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分(fen)別(bie)為Redis實例的IP地址(zhi)以(yi)及端(duan)(duan)口。IP地址(zhi)和端(duan)(duan)口獲(huo)取(qu)見步驟1,請按(an)實際情況修改后執行。********為創建Redis實例時自定義的密碼,請按(an)實際情況修改后執行。
步驟 7 執行go build -o test main.go命令進行打包,如打包名為test可執行文件。
注意若(ruo)打(da)包后需要在Linux系(xi)統下(xia)運行則需(xu)要在打包前設置:
set GOARCH=amd64
set GOOS=linux
步驟 8 執行./test連(lian)接實例。