Redis go 客户端数据库集成

问题描述 投票:0回答:1

我正在使用 Redis 云控制台作为数据库,我没有在我的系统上下载 Redis 客户端,因为我只是第一次尝试在一些个人项目中使用它,我正在尝试连接到它,我正在使用 redis Go 客户端,** 首先** 在 Redis Cloud 控制台中,当我尝试连接到我的免费数据库时,在“选择您的客户端”选项中,我没有看到下拉列表中提到的 Go,尽管它在文档中存在,其次我从文档和 Nodejs 客户端连接教程中获得了帮助,并尝试将其连接到我的主机地址和端口,但它没有连接。 这是我得到的错误: 2024/04/17 14:50:17 无法连接到 Redis: dial tcp [::1]:6379: connectex: 由于目标机器主动拒绝而无法建立连接。

我没有尝试连接到6379端口,我指定的数据库端口与地址中指定的不同。

这是我尝试运行的代码片段:

import (
    "context"
    "encoding/json"
    "log"
    "net/http"
    "fmt"
    "os"
    "github.com/redis/go-redis/v9"
    "github.com/gorilla/mux"
    "github.com/joho/godotenv"
)

// the main function for connection  :
func main() {
    err := godotenv.Load()
    if err != nil {
        fmt.Println("Error loading .env file")
    }

    // Connect to Redis
    rdb = redis.NewClient(&redis.Options{
        Addr:     os.Getenv("REDIS_ADDRESS"),
        Password: os.Getenv("REDIS_PW"),
        DB:       0, // use default DB
    })

    // Test Redis connection
    _, err = rdb.Ping(context.Background()).Result() // Provide context
    if err != nil {
        log.Printf("Failed to connect to Redis: %v", err)
    }

    //I am using env variables in a separate file .
}
go redis redisclient
1个回答
0
投票

检查你的环境变量如何?

  • ex1。错了
    REDIS_ADDRESS
  • ex2。没有在云端正确设置你的redis
  • 等等..

我使用

miniredis
检查了你的代码,这是 Golang 单元测试中 redis 的测试服务器。 https://github.com/alicebob/miniredis

你的代码本身没有问题

package main

import (
    "context"
    "log"

    "github.com/alicebob/miniredis/v2"
    "github.com/redis/go-redis/v9"
)

func main() {
    mockRedis, _ := miniredis.Run()

    redisClient := redis.NewClient(&redis.Options{
        Addr: mockRedis.Addr(),
        DB:   0,
    })

    log.Printf("MockRedis Addr: %s\n", mockRedis.Addr())

    result, err := redisClient.Ping(context.Background()).Result()
    if err != nil {
        log.Printf("Failed to connect to Redis: %v", err)
    } else {
        log.Printf("Succeeded to connect to Redis: %v\n", result)
    }
}

日志是

2024/04/20 10:34:19 MockRedis Addr: 127.0.0.1:51314
2024/04/20 10:34:19 Succeeded to connect to Redis: PONG
© www.soinside.com 2019 - 2024. All rights reserved.