GO redis连接池DEMO
package main
import (
"fmt"
"github.com/gomodule/redigo/redis"
)
var pool *redis.Pool
func newPool(addr string) *redis.Pool {
return &redis.Pool{
MaxIdle: 10,
IdleTimeout: 240 * time.Second,
// Dial or DialContext must be set. When both are set, DialContext takes precedence over Dial.
Dial: func () (redis.Conn, error) {
return redis.Dial("tcp", addr)
},
}
}
func set() {
conn := pool.Get()
defer conn.Close()
err := conn.Send("SET","key1","aaaaaaaaaaaa")
if err != nil {
fmt.Println(err.Error())
}
}
func get() {
conn := pool.Get()
defer conn.Close()
str,err := redis.String(conn.Do("GET","key1"))
if err != nil {
fmt.Println(err)
}
fmt.Println(str)
}
func main() {
pool = newPool("192.168.99.100:6379")
set()
get()
}