我正在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
任何帮助将不胜感激。先谢谢了!
答案 0 :(得分:3)
发生这种情况的可能性最大,因为Redis服务器在端口6379
(这是Redis服务器的默认端口)上运行,但是您正尝试连接到端口6397
。
将服务器地址更改为:
Addr: "localhost:6379"
来自
Addr: "localhost:6397"
那应该可以解决您的问题。