go语言Redis连接池

运行Redis

运行redis-server服务

Redis文件
链接:https://pan.baidu.com/s/1EUFFPaRLqprEmMsEXx61ig
提取码:n19v

package main

import (
	"github.com/garyburd/redigo/redis"
	"fmt"
	"log"
	)

var Pool *redis.Pool
func init()  {      //初始化
	Pool=NewPool("127.0.0.1:6379",1)
}

func main()  {
	conn :=Pool.Get()
	res,err := conn.Do("HSET","user","name","test1")
	if err!=nil{
		log.Fatal(err)
		return
	}
	if res==int64(0){
		fmt.Printf("已有数据\n")
	}
	res1,err := redis.String(conn.Do("HGET","user","name"))
	fmt.Printf("查询结果:%s,error:%v",res1,err)

}

// 重写生成连接池方法
func NewPool(ip string, db int) *redis.Pool {
	return &redis.Pool{
		MaxIdle:   50,
		MaxActive: 12000, // max number of connections
		Dial: func() (redis.Conn, error) {
			c, err := redis.Dial("tcp", ip)
			if err != nil {
				panic(err.Error())
			}
			c.Do("SELECT", db)		//分库,默认是0,使用SELECT key,可进行切换,select 0切换到默认数据库
			return c, err
		},
	}
}
发布了10 篇原创文章 · 获赞 0 · 访问量 613

猜你喜欢

转载自blog.csdn.net/weixin_38849917/article/details/99707884