duanjiao8871 2018-09-13 11:48
浏览 1084
已采纳

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

I am writing a simple go web application with redis (trying out redis for the first time) on windows. I'm using the go-redis package to connect to 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
    }
}

But when I run this code, I get "dial tcp [::1]:6397: connectex: No connection could be made because the target machine actively refused it."

The only answer that I could find was to "start the redis server". My redis server is up and running (Checked it by using the "PING" command in redis client).I have also tried running it as administrator, but no luck. Screenshot attached

Any help would be appreciated. Thanks in advanced!

  • 写回答

1条回答 默认 最新

  • dpfz27768 2018-09-13 12:29
    关注

    This is happening most likely because of the Redis server is running on port 6379 (that is the default port for Redis server) but you are trying to connect to the port 6397.

    Change the Server Address to:

    Addr: "localhost:6379"

    From Addr: "localhost:6397"

    And that should solve your problem.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?