在gopath 目錄下安裝 go get github.com/garyburd/redigo/redisgit
package main import ( "fmt" "github.com/garyburd/redigo/redis" ) //定義一個全局連接池變量 var pool *redis.Pool //在main函數以前執行 func init() { pool = &redis.Pool{ MaxIdle: 8, //最大空閒連接數 MaxActive: 0, //最大連接數,0不限 IdleTimeout: 100, //最大空閒是時間 Dial: func() (redis.Conn, error) { return redis.Dial("tcp", "192.168.166.35:6379", redis.DialPassword("Wintel51971355"), redis.DialDatabase(14)) }, } } func main () { conn,err := redis.Dial("tcp", "192.168.166.35:6379", redis.DialPassword("Wintel51971355"), redis.DialDatabase(14)) defer conn.Close() if err != nil { fmt.Println("connect redis err", err) return } //fmt.Println("conn success", conn) _, err = conn.Do("Set", "name", "test哈羅") if err != nil { fmt.Println("set error", err) return } name, err := redis.String(conn.Do("Get", "name")) if err != nil { fmt.Println("get error", err) return } fmt.Println("get res", name) conn.Do("HMSET", "testKey", "field1", "val1", "field2", "val2") conn.Do("expire", "testKey", 3600) res,err := redis.Strings(conn.Do("HMGET", "testKey", "field1", "field2")) fmt.Println("res",res) for i,v := range res { fmt.Printf("i=%d,v=%v \n", i, v) } //從鏈接池中取連接 conn2 := pool.Get() conn2.Do("set", "test2", "123") fmt.Println(redis.String(conn2.Do("get", "test2"))) } ```