Redis: Connection using unix-socket

Created on 23 Jan 2013  ·  5Comments  ·  Source: go-redis/redis

Is it possible to connect using a unix-socket instead of TCP?

Most helpful comment

  r := redis.NewClient(&redis.Options{
    Network:  "unix",
    Addr:     "/var/run/redis/redis.sock",
    Password: "",
    DB:       "1",
  })

Don't forget to check file perms.

All 5 comments

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())
}

Adding NewClientUnix* helper methods would be useful, as most people run Redis close to client process via unix socket.

gurre, sorry, but I somehow missed your question.

aGrmbl, thanks, I will think about adding helper.

Now it is as simple as:

client := redis.NewUnixClient("/tmp/redis.sock", "", -1)

aGrmbl, thanks again.

  r := redis.NewClient(&redis.Options{
    Network:  "unix",
    Addr:     "/var/run/redis/redis.sock",
    Password: "",
    DB:       "1",
  })

Don't forget to check file perms.

r := redis.NewClient(&redis.Options{
Network: "unix",
Addr: "/var/run/redis/redis.sock",
Password: "",
DB: "1",
})
#

Was this page helpful?
0 / 5 - 0 ratings