dial tcp [:: 1]:6397:connectex:无法建立连接,因为目标计算机主动拒绝它

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

我在Windows上用redis(第一次尝试redis)编写一个简单的go web应用程序。我正在使用go-redis包连接到redis。

package main

import (
    "fmt"
    "net/http"
    "text/template"

    "github.com/go-redis/redis"
    "github.com/gorilla/mux"
)

var client *redis.Client
var tmpl *template.Template

func init() {
    client = redis.NewClient(&redis.Options{
        Addr:     "localhost:6397",
        Password: "",
        DB:       0,
    })
    tmpl = template.Must(template.ParseGlob("./templates/*.gohtml"))
    pong, err := client.Ping().Result()
    fmt.Println(pong, err)
}

func main() {
    router := mux.NewRouter()
    router.HandleFunc("/", indexHandler).Methods("GET")
    http.Handle("/", router)
    http.ListenAndServe(":1234", nil)
}

func indexHandler(w http.ResponseWriter, r *http.Request) {
    comments, err := client.LRange("comments", 0, 10).Result()
    check(err)
    tmpl.ExecuteTemplate(w, "index.gohtml", comments)
}

func check(err error) {
    if err != nil {
        fmt.Println(err)
        return
    }
}

但是,当我运行此代码时,我得到“拨号tcp [:: 1]:6397:connectex:无法建立连接,因为目标计算机主动拒绝它。”

我能找到的唯一答案是“启动redis服务器”。我的redis服务器启动并运行(在redis客户端中使用“PING”命令检查它。)我也尝试以管理员身份运行它,但没有运气。 Screenshot attached

任何帮助,将不胜感激。提前致谢!

windows go redis
1个回答
3
投票

发生这种情况很可能是因为Redis服务器在端口6379上运行(这是Redis服务器的默认端口),但您正在尝试连接到端口6397

将服务器地址更改为:

Addr: "localhost:6379"

来自Addr: "localhost:6397"

那应该可以解决你的问题。

© www.soinside.com 2019 - 2024. All rights reserved.