redis-pool go

redis-pool go,第1张

package main

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

//定义一个全局pool
var pool *redis.Pool

//当启动程序时,就是初始还连接池init()
func init(){
	pool=&redis.Pool{
		MaxIdle: 8,  //最大空闲链接数
		MaxActive: 0,//表示和数据库的最大链接数,0表示没有限制
		IdleTimeout: 100, //最大空闲时间
		Dial: func() (redis.Conn, error) {//初始化连接的代码信息
			return redis.Dial("tcp","localhost:6379")
		},
	}


}

//连接池的使用
func main() {

	//先从pool取出一个连接
	conn:=pool.Get()
	defer conn.Close()   //延迟连接---归还到连接池,而不是关闭


	//存储数据
	_,err:=conn.Do("Set","name","猪八戒")
	if err!=nil{
		fmt.Println("set err=",err)
		return
	}

	//取出数据

	r,err:=redis.String(conn.Do("Get","name"))

	if err!=nil{
		fmt.Println("conn.do err=",err)
		return
	}

	fmt.Println("取出的数据是:",r)









}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/994837.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存