使用第三方开源库 github.com/gomodule/redigo/redis
package main
import (
"fmt"
"github.com/gomodule/redigo/redis"
)
// 普通连接
func Redis() (conn redis.Conn, err error) {
conn, err = redis.Dial("tcp", "127.0.0.1:6379")
if err != nil {
fmt.Printf("redis dial err:%s\n", err.Error())
}
return
}
var pool *redis.Pool
// 连接池连接
func RedisPool() {
pool = &redis.Pool{
MaxIdle: 10,
MaxActive: 0,
Dial: func() (redis.Conn, error) {
return redis.Dial("tcp", "127.0.0.1:6379")
},
IdleTimeout: 100,
}
}
func Op(conn redis.Conn) {
_, err := conn.Do("Set", "name", "test")
if err != nil {
fmt.Printf("redis set err:%s\n", err.Error())
return
}
name, err := redis.String(conn.Do("Get", "name"))
if err != nil {
fmt.Printf("redis get err:%s\n", err.Error())
return
}
fmt.Printf("name:%s\n", name)
}
func main() {
conn, err := Redis()
if err != nil {
fmt.Printf("get redis conn err:%s\n", err.Error())
return
}
defer conn.Close()
Op(conn)
/*
//连接池操作
RedisPool()
conn := pool.Get()
defer conn.Close()
Op(conn)
*/
}