¿Es posible conectarse usando un socket de Unix en lugar de 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())
}
Sería útil agregar métodos auxiliares NewClientUnix*, ya que la mayoría de las personas ejecutan Redis cerca del proceso del cliente a través del socket Unix.
gurre, lo siento, pero de alguna manera me perdí tu pregunta.
aGrmbl, gracias, pensaré en agregar ayudante.
Ahora es tan simple como:
client := redis.NewUnixClient("/tmp/redis.sock", "", -1)
aGrmbl, gracias de nuevo.
r := redis.NewClient(&redis.Options{
Network: "unix",
Addr: "/var/run/redis/redis.sock",
Password: "",
DB: "1",
})
No olvide verificar los permisos del archivo.
r := redis.NuevoCliente(&redis.Opciones{
Red: "unix",
Dirección: "/var/run/redis/redis.sock",
Contraseña: "",
DB: "1",
})
#
Comentario más útil
No olvide verificar los permisos del archivo.