多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### 安装和文档 ``` go get -u github.com/garyburd/redigo/redis https://godoc.org/github.com/garyburd/redigo/redis ``` ### 连接redis ``` package main import ( "fmt" "github.com/garyburd/redigo/redis" ) func main() { //设置等了密码 options := redis.DialPassword("redis123456") //连接到redis conn, err := redis.Dial("tcp", "114.115.169.52:8002", options) if err != nil{ fmt.Println("redis dial err") return } defer conn.Close() //关闭 // 写入数据 _, err = conn.Do("Set", "name", "sn") if err != nil { fmt.Println("err = ", err) return } // 读取数据,Do返回值是interface, name对应的值是string 因此我们需要转换 // name := res.(string) 方式1 res, err := redis.String(conn.Do("Get", "name")) //方式2 if err != nil { fmt.Println("err , ", err) return } fmt.Println("name =", res) } ``` ### 数据库连接池 ``` package main import ( "fmt" "github.com/garyburd/redigo/redis" ) var pool *redis.Pool func main() { //1.初始化连接池(项目启动的时候) pool = &redis.Pool{ MaxIdle:10, //最大空闲连接数 MaxActive:0, //和数据库的最大连接数, 0表示没有限制 IdleTimeout:100, //最大空闲时间 Dial: func() (conn redis.Conn, e error) { options := redis.DialPassword("redis123456") return redis.Dial("tcp", "114.115.169.52:8002", options) },//初始化连接代码 } //2.从pool中取出一个连接 conn := pool.Get() name, err := redis.String(conn.Do("Get", "name")) if err != nil{ fmt.Print("err : ", err) return } fmt.Print("name : ", name) } ```