Go 连接示例

最近更新时间:2025-06-25 16:11:52

我的收藏

运行前必备

下载客户端 Go-redis

示例代码

package main

import (
"context"
"fmt"
"github.com/redis/go-redis/v9"
"log"
"time"
)
func main() {
// 这里替换为连接实例的 host 和 port ,以及访问密码
const host = "127.0.0.1"
const port = 6379
const pwd = "*******"
newClient := redis.NewClient(&redis.Options{
Addr: fmt.Sprintf("%s:%d", host, port),
Password: pwd,
})
ctx, cancelFunc := context.WithTimeout(context.Background(), 10*time.Second)
defer cancelFunc()
statusCmd := newClient.Ping(ctx)
log.Printf(" ping status: %s", statusCmd.Val())
}

通过 SSL 加密方式连接示例

您需要根据注释修改参数:SSL 证书文件、连接数据库的 IP、端口及账号密码信息。
package main
import (
"context"
"fmt"
"io/ioutil"
"crypto/tls"
"crypto/x509"
"github.com/redis/go-redis/v9"
)

func main() {
caCert, err := ioutil.ReadFile("ca.pem")
caCertPool := x509.NewCertPool()
caCertPool.AppendCertsFromPEM(caCert)
tlsConfig := &tls.Config{
MinVersion: tls.VersionTLS12,
InsecureSkipVerify:true,
RootCAs: caCertPool}
ctx := context.Background()

rdb := redis.NewClient(&redis.Options{
Addr: "172.21.0.8:6379",
Password: "xxxx",
DB: 0,
TLSConfig: tlsConfig})
err1 := rdb.Set(ctx, "key", "value", 0).Err()
if err1 != nil {
panic(err1)
}

val, err2 := rdb.Get(ctx, "key").Result()
if err2 != nil {
panic(err2)
}
fmt.Println("key", val)
}