文档章节

golang 封装 mysql 和 redis 连接

开源中国最牛的人
 开源中国最牛的人
发布于 07/13 19:00
字数 228
阅读 84
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>

Mysql封装

package db

import (
	"fmt"
	_ "github.com/go-sql-driver/mysql"
	"github.com/jmoiron/sqlx"
)


var DB *sqlx.DB


func init(){

	database, err := sqlx.Open("mysql", "root:root@tcp(127.0.0.1:3306)/test")
	if err != nil {
		fmt.Println("open mysql failed,", err)
		return
	}
	DB = database

}

Redis 池连接封装

package db

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

var RedistPool *redis.Pool  //创建redis连接池


func init(){
	RedistPool = &redis.Pool{     //实例化一个连接池
		MaxIdle:16,    //最初的连接数量
		MaxActive:0,    //连接池最大连接数量,不确定可以用0(0表示自动定义),按需分配
		IdleTimeout:300,    //连接关闭时间 300秒 (300秒不使用自动关闭)
		Dial: func() (redis.Conn ,error){     //要连接的redis数据库
			c,error := redis.Dial("tcp","localhost:6379")
			c.Do("AUTH","mifengai")
			return c,error
		},
	}

}

 

使用:

import (
	"fmt"
	"thor/app/db"
)

func main(){

	pool := db.RedistPool.Get()
	_,setError := pool.Do("Set","name","redisdb")
	if setError!=nil{
		fmt.Println("出现了错误:",setError)
		return
	}


	ur, err := db.DB.Exec("INSERT INTO `userinfo` (`username`,`password`) VALUES (?,?)", "admin", "admin@admin.com")
	if err != nil {
		return
	}


}

 

开源中国最牛的人
粉丝 3
博文 103
码字总数 28304
作品 0
西安
高级程序员
私信 提问
加载中
请先登录后再评论。
用vertx实现高吞吐量的站点计数器

工具:vertx,redis,mongodb,log4j 源代码地址:https://github.com/jianglibo/visitrank 先看架构图: 如果你不熟悉vertx,请先google一下。我这里将vertx当作一个容器,上面所有的圆圈要...

jianglibo
2014/04/03
4.2K
3
我的架构演化笔记 功能1: 基本的用户注册

“咚咚”,一阵急促的敲门声, 我从睡梦中惊醒,我靠,这才几点,谁这么早, 开门一看,原来我的小表弟放暑假了,来南京玩,顺便说跟我后面学习一个网站是怎么做出来的。 于是有了下面的一段...

强子哥哥
2014/05/31
976
3
极速博客引擎--Gor

gor 是使用 golang 实现的类Ruhoh静态博客引擎(Ruhoh like),基本兼容ruhoh 1.x规范. 相当于与ruhoh的官方实现(ruby实现), 有以下优点: 速度完胜 -- 编译wendal.net近200篇博客,仅需要1秒 安装...

wendal
2013/01/20
3.8K
0
数据库代码辅助工具--MaoCaiJun.Database

MaoCaiJun.DataBase 是一个用于 Microsoft Visual Studio 的数据库代码生成组件。它是基于 xml 文件的代码创建工具,支持sql2000,sql2005,sql2008,access, SQLite MaoCaiJun.Database 数据库...

mccj
2013/02/06
2.4K
1
JavaScript 声效库--SFX.js

sfx.js 是一个简单的声效封装 JavaScript 包。示例: var sfxObject = new SFX( 'sound_effects/{{type}}' ); 支持: Chrome: OGG + MP3 Opera: OGG Firefox: OGG Safari: MP3 IE9: MP3......

匿名
2013/02/18
1.1K
0

没有更多内容

加载失败,请刷新页面

加载更多

华为大危机!余承东:麒麟芯片告罄,今年或许是高端芯片最后一代

     大数据文摘出品   作者:牛婉杨   美国制裁下,华为麒麟芯片即将告罄。   华为消费者业务CEO余承东称,由于来自美国的持续经济压力,华为下个月将无法生产自己的麒麟芯片组。...

osc_qmxpov5s
29分钟前
0
0
狂神说Java多线程详解(二)

狂神的视频截图作为学习记录:线程同步和线程协作。 本文分享自微信公众号 - Android架构师成长之路(gh_07f996f00d9b)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计...

datoushiwoma
07/13
5
0
英特尔20GB数据泄漏!包含未发芯片文件,内部密码多为intel123

     大数据文摘出品   来源:Arstechnica   近日,英特尔发生了一起重大的数据泄漏事故,超过20GB的专有数据和源代码被放在了网上。   这20GB的泄漏数据不仅量大,而且包含的内容...

osc_tjee7sjs
30分钟前
9
0
postgresql 主键 id 设置自增

创建自增序列(起始值必须大于 0 ) CREATE SEQUENCE standard_detail_id_seq START 1; 主键 ID 默认设置为 nextval('standard_detail_id_seq'::regclass)...

青苗
30分钟前
11
0
Ubuntu-16.04安装 VS code

安装微软Visual Studio Code 首先需要安装Ubuntu Make。虽然Ubuntu Make存在Ubuntu15.04官方库中,但是需要Ubuntu Make 0.7以上版本才能安装Visual Studio。所以,需要通过官方PPA更新到最新...

贪狼lyb
2019/11/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部