使用go with redis-无法连接

9bfwbjaz  于 2021-06-09  发布在  Redis
关注(0)|答案(0)|浏览(541)

我正在尝试连接到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做了同样的操作(连接到同一个服务示例),而且它工作正常!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题