是否可以使用 unix-socket 而不是 TCP 进行连接?
Redis := redis.NewClient(func() (net.Conn, error) {
return net.DialTimeout("unix", "/tmp/redis.sock", 1*time.Second)
}, nil, redis.AuthSelectFunc("", -1))
defer Redis.Close()
if ping := Redis.Ping(); ping.Err() == nil {
fmt.Println(ping.Val())
} else {
fmt.Println(ping.Err())
}
添加 NewClientUnix* 辅助方法会很有用,因为大多数人通过 unix 套接字在靠近客户端进程的地方运行 Redis。
gurre,对不起,但我不知何故错过了你的问题。
aGrmbl,谢谢,我会考虑添加助手。
现在它很简单:
client := redis.NewUnixClient("/tmp/redis.sock", "", -1)
aGrmbl,再次感谢。
r := redis.NewClient(&redis.Options{
Network: "unix",
Addr: "/var/run/redis/redis.sock",
Password: "",
DB: "1",
})
不要忘记检查文件权限。
r := redis.NewClient(&redis.Options{
网络:“unix”,
地址:“/var/run/redis/redis.sock”,
密码: ””,
数据库:“1”,
})
#
最有用的评论
不要忘记检查文件权限。