我正在尝试连接到azure中的redis服务
我使用以下代码:
import (
"fmt"
"os"
"github.com/go-redis/redis"
)
func main() {
uri := os.Getenv("uri")
fmt.Println("uri is", uri)
opt, err := redis.ParseURL(uri)
if err != nil {
fmt.Println(err)
}
fmt.Println("addr is:”, opt.Addr)
fmt.Println("db is:”, opt.DB)
fmt.Println("password is:”, opt.Password)
//connect to redis
client = redis.NewClient(opt)
//Here I want to get connection
pong, err := client.Ping().Result()
https://github.com/go-redis/redis
https://godoc.org/github.com/go-redis/redis#example-解析URL
打印的数据如下所示,我能够找到连接字符串
uri is rediss://:bBMfQ7wFdkPHr8u%2B2zzNOzUpy85OEjYv7KbPZd8B89M%3D@e49ab3c6-8f72-416a-a6c1-ddfe75gf200e.redis.cache.windows.net:6380
addr is: e49ab3c6-8f72-416a-a6c1-ddfe75gf200e.redis.cache.windows.net:6380
db is: 0
password is: bBMfQ7wFdkPHr8u+2zzNOzUpy85OEjYv7KbPZd8B89M=
redis服务已经启动并运行,我可以与 nodejs
应用程序并获取数据,知道我为什么在go中出错了吗:
拨号tcp 40.128.8.87:6380:连接:连接被拒绝
我们正在尝试将一些应用程序从nodejs迁移到go。。。
奇怪的是,在nodejs中我使用了下面的代码!
https://github.com/noderedis/node-redis
const redisClient = redis.createClient(process.env.uri);
redisClient.on("connect", () => console.log("Redis is connected"));
更新
我设置了一个没有ssl的新示例,它也不起作用
这是日志
uri is redis://:TKq1n%2BO29jsSdIkoysXL%2Btwd6Xi0IO0KNxw%3D@2dca2dx1-20e0-48ca-83ed-20bf52e99b97.redis.cache.windows.net:6379
addr is 2dca2dx1-20e0-48ca-83ed-20bf52e99b97.redis.cache.windows.net:6379
db is 0
password is TKq1n+O29jsSdIkoysXL+twd6Xi0IO0KNxw=
dial tcp 40.113.7.3:6379: connect: connection refused
你知道我应该如何使用GoAPI来正确连接redis吗?
顺便说一句,当我连接到本地redis时,它可以工作,但是没有连接到azure缓存
这样地
client := redis.NewClient(&redis.Options{
Addr: "localhost:6379",
Password: "",
DB: 0,
})
也许我遗漏了redisapi中的一些东西,因为我对nodejs做了同样的操作(连接到同一个服务示例),而且它工作正常!
暂无答案!
目前还没有任何答案,快来回答吧!