golang开发的一个mysql连接代理池,支持多种语言客户端(PHP范例)

lqy5589731 · · 2836 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

golang mysql pool proxy(MPP)

golang开发的一个mysql连接代理池, HTTP返回查询结果。

特性(迭代更新支持)

  • golang查询mysql, 支持连接池, HTTP返回数据,通过POST传递sql语句 (已实现)

  • 增加了postgre数据库的支持 (已实现)

  • 支持查询数据缓存 (已实现)

  • 支持多种语言(发送POST请求即可) (已实现)

  • 读写分离

  • SQL防注入

  • 支持HTTPS (已实现)

  • 考虑支持分布式HTTP server

  • 加入log文件支持 (已实现)

编译启动方式(linux), windows照样

cd project_path
go build
mv golang_mysql_proxy_pool mpp
./mpp

返回数据类似 {"code":0,"rows":"123@123.com","status":"success"} 的 json 格式

属性说明

code 0 is for success
     1 is for wrong query
     2 is for wrong get data
     3 is for wrong uukey 
status success or fail
rows query data

怎么使用?

example/mpp_cls.php文件是PHP语言的客户端,有目前现有的所有功能的范例,请参考

联系详情可查看github

测试

WIN7, go version go1.4.2 windows/386, PHP 5.6, MYSQL5.6, 1万条mysql数据 example目录

没使用MPP的文件, php no_use_mpp.php -----Use time: 1.2660720348358-------
使用MPP的文件, php use_mpp.php -----Use time: 0.26302088737488-------

源码地址: https://github.com/r00tjimmy/golang_mysql_proxy_pool


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2836 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传