package main import ( "fmt" "github.com/garyburd/redigo/redis" ) func newConn() (redis.Conn, error) { c, err := redis.Dial("tcp", "192.168.0.2:6379") if err != nil { return nil, err } _, err = c.Do("AUTH", "redis@hsjc") if err != nil { return nil, err } return c, err } func main() { /* c, err := redis.Dial("tcp", "192.168.0.2:6379") if err != nil { fmt.Println(err) return } defer c.Close() _, err = c.Do("AUTH", "redis@hsjc") if err != nil { fmt.Println(err) return } */ pool := redis.NewPool(newConn, 20) c := pool.Get() // c用完后必须释放 n, err := c.Do("HSET", "QahTest", "name", "QiAihui") if err != nil { fmt.Printf("HSET %s\n", err) return } fmt.Printf("HSET return %d\n", n) s, err := redis.String(c.Do("HGET", "QahTest", "name")) if err != nil { fmt.Printf("HGET %s\n", err) return } fmt.Printf("HGET return %s\n", s) n, err = c.Do("EXPIRE", "QahTest", 20) if err != nil { fmt.Printf("EXPIRE %s\n", err) return } fmt.Printf("EXPIRE return %d\n", n) n, err = c.Do("DEL", "QahTest") if err != nil { fmt.Printf("DEL %s\n", err) return } fmt.Printf("DEL return %d\n", n) s, err = redis.String(c.Do("HGET", "QahTest", "name")) if err != nil { fmt.Printf("HGET after del %s\n", err) return } }