go get github.com/gomodule/redigo/redis
package main
import (
"fmt"
"github.com/gomodule/redigo/redis" // 引入redis包
)
func main() {
//连接数据源
rediss, err := redis.Dial("tcp", "127.0.01:6379")
if err != nil {
fmt.Println("连接异常", err)
}
//插入string数据
test, err := rediss.Do("set", "test", "hi")
if err != nil {
fmt.Println("插入数据失败", err)
}
fmt.Println(test)
//读取string数据
str, err := redis.String(rediss.Do("get", "test"))
fmt.Println(str)
//hash 类型
do, _ := rediss.Do("hset", "hh", "name", "zhangsn")
fmt.Println(do)
hh, _ := redis.String(rediss.Do("hget", "hh", "name"))
fmt.Println(hh)
//设置key 过期时间
rediss.Do("expire", "hh", 1)
//关闭redis
rediss.Close()
}
redis 数据源连接池
package main
import (
"fmt"
"github.com/gomodule/redigo/redis" // 引入redis包
)
var pool *redis.Pool
func init() {
pool = &redis.Pool{
MaxIdle: 8, //最大空闲连接数
MaxActive: 0, //表示和数据库最大连接数。0表示没有限制
IdleTimeout: 100, //最大空闲时间
Dial: func() (redis.Conn, error) { //初始化连接 redis 地址
return redis.Dial("tcp", "127.0.01:6379")
},
}
}
func main() {
//获取连接
conn := pool.Get()
//插入数据
do, err := conn.Do("set", "11", "11")
if err != nil {
fmt.Println("插入失败", err)
}
fmt.Println(do)
//关闭redis
conn.Close()
}