嗨,我如何在go-redis sdk的帮助下将我的本地golang代码连接到Amazon Elastic Redis集群?
fdx2calv1#
通过使用github.com/go-redis/redis包,您可以连接Amazon Elastic Redis集群
import "github.com/go-redis/redis/v8" client := redis.NewClient(&redis.Options{ Addr: "the-aws-redis-cluster-host:port", Password: "optional-password", }) state, err := client.Ping(context.Background()).Result() if err != nil { panic(err) } fmt.Println(state)
在从本地连接到AWS redis集群之前,请确保
qco9c6ql2#
使用6.0.0以下版本的redis时需要注意的是,您需要将用户名留空。如果您的redis需要,您还需要设置tls。下面是一个示例代码:
import ( "context" "crypto/tls" redisClient "github.com/redis/go-redis/v9" "strings" "fmt" ) // URL example: redis://username:password@host:port opt, err := redisClient.ParseURL(${URL}) if err != nil { panic(err) } // Remove username to avoid error: ERR wrong number of arguments for 'auth' command when using redis cloud // Root cause: Redis before 6.0.0 does not support username in URL // Reference: https://github.com/redis/go-redis/issues/1343 opt.Username = "" opt.ClientName = ${ClientName} opt.DB = ${DB} opt.PoolSize = ${ConnectionPoolSize} opt.MinIdleConns = ${ConnectionMinimumIdleSize} // Set TLS config for redis cloud if !strings.Contains(${URL}, "localhost") { opt.TLSConfig = &tls.Config{ MinVersion: tls.VersionTLS12, } } rdb = redisClient.NewClient(opt) // Test connection _, err = rdb.Ping(context.Background()).Result() if err != nil { panic(err) } fmt.Println("Successfully")
djmepvbi3#
go get github.com/go-redis/redis/v8
package main import ( "context" "github.com/go-redis/redis/v8" )
redis.NewClient
Client := redis.NewClient(&redis.Options{ Addr: "YourRedisEndpoint:YourRedisPort", Password: "YourRedisPassword", DB: 0, // use default DB })
您必须将YourRedisEndpoint、YourRedisPort和YourRedisPassword替换为您的Amazon Elastic Redis集群的实际值。请在您的AWS帐户的Elasticache控制台中查找这些值。
YourRedisEndpoint
YourRedisPort
YourRedisPassword
Set
ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*10)) defer cancel() err := Client.Set(ctx, "MyKey", "MyValue", 0).Err() if err != nil { fmt.Println("client set error : ",err) }
这将在Redis中将MyKey键的值设置为MyValue。您现在可以使用go-redis包连接到您的Amazon Elastic Redis集群,并通过Golang代码执行Redis操作。
MyKey
MyValue
3条答案
按热度按时间fdx2calv1#
通过使用github.com/go-redis/redis包,您可以连接Amazon Elastic Redis集群
在从本地连接到AWS redis集群之前,请确保
qco9c6ql2#
使用6.0.0以下版本的redis时需要注意的是,您需要将用户名留空。如果您的redis需要,您还需要设置tls。下面是一个示例代码:
djmepvbi3#
安装go-redis包:
导入go-redis包:
将Redis端点和凭证传递给
redis.NewClient
函数,创建一个新的Redis客户端:您必须将
YourRedisEndpoint
、YourRedisPort
和YourRedisPassword
替换为您的Amazon Elastic Redis集群的实际值。请在您的AWS帐户的Elasticache控制台中查找这些值。使用Redis客户端进行Redis操作,在Redis中设置值可以使用
Set
方法:这将在Redis中将
MyKey
键的值设置为MyValue
。您现在可以使用go-redis包连接到您的Amazon Elastic Redis集群,并通过Golang代码执行Redis操作。