É possível conectar usando um soquete unix em vez 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())
}
Adicionar métodos auxiliares NewClientUnix* seria útil, pois a maioria das pessoas executa o Redis perto do processo do cliente via soquete unix.
gurre, desculpe, mas de alguma forma eu perdi sua pergunta.
aGrmbl, obrigado, vou pensar em adicionar helper.
Agora é tão simples quanto:
client := redis.NewUnixClient("/tmp/redis.sock", "", -1)
aGrmbl, obrigado novamente.
r := redis.NewClient(&redis.Options{
Network: "unix",
Addr: "/var/run/redis/redis.sock",
Password: "",
DB: "1",
})
Não se esqueça de verificar as permissões do arquivo.
r := redis.NewClient(&redis.Options{
Rede: "unix",
Endereço: "/var/run/redis/redis.sock",
Senha: "",
DB: "1",
})
#
Comentários muito úteis
Não se esqueça de verificar as permissões do arquivo.