Go语言中文网 为您找到相关结果 1139

gorm源码解读

阅读高质量的开源项目,是提升代码质量的好方法。我就是抱着这种想法,提升自己的golang编程技能。代码库,我选择了2个:应用场景非常熟悉的orm:gorm,毕竟之前写java,用了不少hibernate场景还在学习中的区块链:以太坊的go-ethereum最近阅读go的orm框架gorm,收获颇多。项目作者是中国人,github点赞数量9977(截止2018/8/20日)。gorm名字起的很霸气,应该是:go+orm--->gorm这个意思!gorm源码gorm官网1. go原始的sql操作go原始sql操作比较简单,就是将数据读写到一个变量或者多个变量里面。// from: https://golang.org/src/database/sql/example_test.go var sq...阅读全文

博文 2019-08-04 20:01:18 比景

Go组件学习——database/sql数据库连接池你用对了吗

案例 case1: maxOpenConns > 1 func fewConns() { db, _ := db.Open("mysql", "root:rootroot@/dqm?charset=utf8&parseTime=True&loc=Local") db.SetMaxOpenConns(10) rows, err := db.Query("select * from test where name = 'jackie' limit 10") if err != nil { fmt.Println("query error") } row, _ := db.Query("select * from test") fmt.Println(row, rows) } 复制代码这里maxO...阅读全文

博文 2019-08-26 10:04:16 JackieZheng

golang orm之gorose 2.0版本正式发布

关于gorose 2.0 gorose, 最风骚的golang orm, php版本的laravel eloquent. 经过几个月的重构和打磨, 再加上近一个月的预览版测试和改进, gorose 2.0正式版终于与我们见面了. 新版本做出了重大改动和升级, 完全重构了基础架构和实现方式, 下面, 我们一起来看看gorose 2.0的特点吧 gorose 2.0特点 1. 全新架构 gorose 2.0 采用模块化分离架构, 主要分为4大模块: engin: 初始化gorose和数据库链接,配置解析,连接池启用 session: 数据库操作,事务操作等,采用会话隔离,确保每一个连接和数据库操作都是相互独立的, 充分利用连接池来提升数据库效率 orm: 通过优雅的api来实现对象关系映射,使操...阅读全文

1 Go 数据库IO(一):Mysql操作

Go使用Mysql 1.database/sql标准包 sql包提供了保证SQL或类SQL数据库的泛用接口。使用sql包时必须注入(至少)一个数据库驱动。参见http://golang.org/s/sqldrivers 获取驱动列表。如使用mysql,则需要注入github.com/go-sql-driver/mysql。 import ( "fmt" "database/sql" _ "github.com/go-sql-driver/mysql" ) //定义一个接收数据库表字段的结构体 type DbPerson struct { Id int `db:"id"` Name string `db:"name"` Age int `db:"age"` Sex int `db:"gende...阅读全文

博文 2019-07-08 17:32:48 GoFuncChan

Gorm的使用心得和一些常用扩展(二)

在上一篇文章,我分享了自己在新增和更新的场景下,自己使用gorm的一些心得和扩展。本文,我将分享一些在查询的方面的心得。 首先,我把查询按照涉及到的表的数量分为: 单表查询 多表查询 按照查询范围又可以分为: 查询一个 范围查询 查询一组 有序查询 查询前几个 分页查询 在日常使用中,单表查询占据了多半的场景,把这部分的代码按照查询范围做一些封装,可以大大减少冗余的代码。 单表查询 于是,我仿照gorm API的风格,做了如下的封装: ps:以下例子均以假定已定义user对象 查询一个 func (dw *DBExtension) GetOne(result interface{}, query interface{}, args ...interface{}) (found bool, e...阅读全文

博文 2019-07-19 02:34:17 raining1127

mysql数据导出golang实现

mysql数据导出为excel文件,golang实现: 首先下载依赖到的三方库: Simple install the package to your $GOPATH with the go tool from shell: $ go get -u github.com/go-sql-driver/mysql 具体说明请看: 库地址 wiki说明 代码示例如下,用到了go的flag包的能力,传入命令行参数。具体看helpInfo: Usage of mysqldataexport: -port int the port for mysql,default:32085 -addr string the address for mysql,default:10.146.145.67 -user ...阅读全文

博文 2018-09-03 16:35:52 我的小碗汤

How to create go structs for existing MySQL tables?

<p>Hi I was never dealing with database programming +go so am after some advice. I have a database with few tables, some of them are related using foreign keys. Not smth complex, but I thought there has to be some auto solution that shall let me create corresponding go structs to use with let&#39;s say dbr package. But for some reason I s...阅读全文

面试Python工程师会问哪些问题?需要准备什么?

随着互联网的发展,python语言现在变得越来越火爆,Python程序员越来越受到大家的青睐!那么想进入Python行业,面试时需要注意些什么问题呢?我们在参加Python开发岗位面试的时候都要做哪些准备?一般Python技术方面的面试会问哪些问题? 今天,我们从2位面试官的角度来看看,参加 Python 开发岗面试需要做哪些准备。(一)我之前在豆瓣负责过一段时间我们组的技术面试。由于现在不再去面试,可以爆一爆。1. 我从来不问google可获得的答案的问题, 只是问问面试者「在过去的工作中,遇到的Ta认为较有成就感的一件事情是什么」和「如果出现了一个google不到的问题,你会怎么解决」这样的问题。2. 我从来不问操作系统等和Python无关的话题,优先是我不怎么问和工作太无关的话题,有些...阅读全文

博文 2018-12-31 14:34:44 长情且温柔

DockOne微信分享(八十一):唯品会数据库备份恢复容器化项目实践经验总结

【编者的话】本文分享了唯品会数据库Docker的异地容灾项目实践经验,项目中针对用户数据库的异地恢复场景的需求进行开发和测试,整合了网络,存储、调度、监控,镜像等多个模块。在实施完成后,从技术上总结关于选型、开发、踩坑、测试等方面的经验。 项目背景数据库Docker的异地备份恢复容灾项目,针对用户数据库的异地备份恢复场景的需求进行开发和测试,整合了容器网络、存储、调度、监控、镜像等多个模块。同时针对数据库的日常运维工作开发了监控、资源调度、日志、Puppet自动推送等工具。 通过Docker天生隔离性和快速部署等特点,实现在单台物理机上运行多个数据库备份/恢复实例,大大提高服务器使用率,节省大量成本。通过对Docker本身和相关组件的研究和改造,从普通开源产品落地到公司内部生产环境,积累宝贵...阅读全文

博文 2017-06-25 16:25:15 yekaifeng

基于MaxCompute的拉链表设计

摘要: 简单的拉链表设计 **背景信息:** 在数据仓库的数据模型设计过程中,经常会遇到这样的需求: 数据量比较大; 表中的部分字段会被update,如用户的地址,产品的描述信息,订单的状态、手机号码等等; 需要查看某一个时间点或者时间段的历史快照信息。(比如,查看某一个订单在历史某一个时间点的状态,比如,查看某一个用户在过去某一段时间内,更新过几次等等) 变化的比例和频率不是很大,比如,总共有1000万的会员,每天新增和发生变化的有10万左右;如果对这边表每天都保留一份全量,那么每次全量中会保存很多不变的信息,对存储是极大的浪费;   ![图片描述](http://img.blog.csdn.net/20180321141430767?watermark/2/te...阅读全文

Go 每日一库之 go-ini

简介 ini 是 Windows 上常用的配置文件格式。MySQL 的 Windows 版就是使用 ini 格式存储配置的。 go-ini是 Go 语言中用于操作 ini 文件的第三方库。 本文介绍go-ini库的使用。 快速使用 go-ini 是第三方库,使用前需要安装: $ go get gopkg.in/ini.v1 复制代码也可以使用 GitHub 上的仓库: $ go get github.com/go-ini/ini 复制代码首先,创建一个my.ini配置文件: app_name = awesome web # possible values: DEBUG, INFO, WARNING, ERROR, FATAL log_level = DEBUG [mysql] ip = 12...阅读全文

博文 2020-01-16 11:34:18 darjun

LollipopGo开源游戏服务器框架--数据库错误问题

游戏服务器运行了几天,报错: can't create more than max_prepared_stmt_count statements (current value: 163 mysql_stmt_prepare failed! error(1461)Can't create more than max_prepared_stmt_count statements (current value: 16382) 。 给出的回复如下: max_prepared_stmt_count参数限制了同一时间在mysqld上所有session中prepared 语句的上限。 它的取值范围为“0 - 1048576”,默认为16382。 mysql对于超出max_prepared_stmt_cou...阅读全文

博文 2019-01-18 15:34:48 Golang语言社区

DM 源码阅读系列文章(五)Binlog replication 实现

作者:lan 本文为 DM 源码阅读系列文章的第五篇。上篇文章 介绍了 dump 和 load 两个数据同步处理单元的设计实现,对核心 interface 实现、数据导入并发模型、数据导入暂停或中断的恢复进行了分析。本篇文章将详细地介绍 DM 核心处理单元 Binlog replication,内容包含 binlog 读取、过滤、路由、转换,以及执行等逻辑。文内涉及到 shard merge 相关逻辑功能,如 column mapping、shard DDL 同步处理,会在 shard merge 篇单独详细讲解,这里就不赘述了。 Binlog replication 处理流程 从上图可以大致了解到 Binlog replication 的逻辑处理流程,对应的 逻辑入口代码。 从 relay...阅读全文

博文 2019-05-08 18:34:52 PingCAP

阿里云新一代关系型数据库 PolarDB 剖析

摘要: 本文通过描述关系型数据库发展的背景以及云计算的时代特征,分享了数据库计算力的螺旋式上升的进化理念。并且结合阿里云 RDS 产品的发展路径,阐述了自主研发的新一代云托管关系型数据库 PolarDB 的产品整体设计思想,同时也对一些关键技术点进行了解读。 本文通过描述关系型数据库发展的背景以及云计算的时代特征,分享了数据库计算力的螺旋式上升的进化理念。并且结合阿里云 RDS 产品的发展路径,阐述了自主研发的新一代云托管关系型数据库 PolarDB 的产品整体设计思想,同时也对一些关键技术点进行了解读。 1. 背景 关系型数据库 谈到关系型数据库,在这个知识日新月异的TMT时代,听起来有些“古董”,这个起源于半个世纪以前的IT技术,事实上一直处于现代社会科技的核心,...阅读全文

云数据库MySQL版快速上手教程

课程介绍 MySQL 是全球最受欢迎的开源数据库,作为开源软件组合 LAMP(Linux + Apache + MySQL + Perl/PHP/Python)中的重要一环,广泛应用于各类应用场景。 本课程主要介绍云数据库 MySQL 版的使用、数据迁移、备份恢复、性能优化等方法。 云数据库 MySQL 版详情:https://www.aliyun.com/product/rds/mysql 课程目标 掌握云数据库MySQL版的基本使用方法 适合人群 DBA 运维 课程列表 • 课时1:云数据库 MySQL 版的优势和使用场景 • 课时2:熟悉云数据库 MySQL 版控制台 • 课时3:创建与删除数据库,数据库账号...阅读全文

Golang 容器部署

Go 使用 Docker部署的意义(优势)在哪? 由于 go 最终是编译为一个二进制可执行文件,没有运行时依赖,也不需要管理库,丢到服务器上就可以直接运行。所以,如果你有一个二进制文件,那么在容器中打包二进制文件的要点是什么?如果使用 docker 的话,还得在服务器上装 docker,那么把最终程序打包成 docker 有什么好处呢? 我想有这么几个好处: 依赖打包如果你的应用程序(二进制文件)依赖配置文件或一些静态文件,那使用docker就很方便的把这些文件一起打包进容器里。 版本控制启动Docker就和运行一个进程一样快,我们可以在几秒钟的时间内运行整个服务器集群。除此之外,Docker 镜像的注册中心使Docker容器还可以像git仓库一样,可以让你提交变更到Docker镜像中,并通...阅读全文

博文 2019-11-19 12:32:42 维子

GoLang Mysql helloworld

一、mysql安装 参考超级详细的mysql安装指南 Root Account Pwd:xxnetCuiXu 二、mysql使用 参考 21分钟MySQL基础入门 MySQL 教程 Mysql在命令行格式下输入命令需要加上“;”分号作为结束。如果不加上“;”分号结束符,那么就意味着命令没有完成,所以一直会出现这个类似于箭头的符号。 CREATE TABLE `user_accounts` ( -> `id` int(100) unsigned NOT NULL AUTO_INCREMENT primary key, -> `password` varchar(32) NOT NULL DEFAULT '' COMMENT '用户密码', -> `reset_password` tinyint...阅读全文

博文 2019-02-15 17:34:48 懒皮

Golang 参考资料

知识图谱 https://www.processon.com/view/link/5a9ba4c8e4b0a9d22eb3bdf0 基础 https://gobyexample.com/ 开发环境搭建 基础知识 类型与变量 常量与运算符 控制语句 数组 map 函数 function 结构 struct 方法 接口 反射 并发 入门学习笔记1 https://www.jianshu.com/p/c48f484c9831 入门学习笔记2 https://www.jianshu.com/p/33c03a38d0f8 Golang 新手可能会踩的 50 个坑 https://www.cnblogs.com/276815076/p/8583589.html Mysql Golang Mysql笔记 ...阅读全文

博文 2019-01-27 23:34:42 baboon

Gormat - 跨平台Gopher辅助工具

> 跨平台的界面化golang便捷转换器,支持数据库转Struct、Sql转Struct、Json转Struct等。![image](assets/show_win.png)## Features 功能展示- [x] 数据库转Struct - [x] 数据引擎支持 - [x] Mysql - [ ] PostgreSQL - [ ] Sqlite3 - [ ] Mssql - [x] 自动存文件 - [x] 标签支持 - [x] Gorm - [x] Xrom - [x] JSON - [x] 排除列表 - [x] 数据映射 - [x] 自定义转型- [x] Sql转Struct- [x] Json转Struct### Prerequisites 开发条件```golang >= 1.11`...阅读全文

博文 2020-03-08 12:32:45 Bingoladen

微服务业务架构的探索

文:微服务业务架构的探索 提示 阅读这篇文章,需要有以下准备: 在微服务下挣扎过 需要了解DDD和COLA架构思想 本篇文章围绕业务架构进行讨论 前言 公司在开始探索微服务架构时,使用的是三层架构(controller/service/model)。随着时间的推移,发现三层业务架构在微服务架构下越来越不适用,主要体现在下面2点: 业务逻辑离散在service层,不能很好的复用和表达能力差 业务代码和技术实现进行了强耦合,导致调试和测试困难 针对以上问题,我们开始探索新的业务架构,整理形成我们自己研发的业务框架:Esim (Make everything simple)。 回顾 我对业务架构的思考,来自一道比较经典的面试题:什么是MVC?估计刚毕业的同学,都避免不了这道面试题。当然时间总是飞逝...阅读全文

博文 2020-05-14 19:32:53 小卜邪

mysql查询

## 查询子句顺序 SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ... LIMIT 1. select 用来指定查询哪些列,可以使用聚合函数。 2. from 用来指定查询哪张表。 3. where用来指定过滤条件,针对原表,那么条件中的列名只能是是原表的列名,不可以是别名或者使用聚合函数。 4. group by 用来对结果集进行分组,条件中的列可以使用原名,也可以使用别名。 5. having 用来指定对分组后的数据进行再次过滤的条件,条件中的列可以使用原名,也可以使用别名。 6. order by 对结果集中某一列进行排序,默认降序。有 asc 升序,desc 降序两种选择。条件中的列可以使用原名,也可以...阅读全文

博文 2019-12-25 20:31:56 bytemode

史上最全的大厂Mysql面试题在这里!

1、MySQL的复制原理以及流程基本原理流程,3个线程以及之间的关联;主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中;从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中;从:sql执行线程——执行relay log中的语句;2、MySQL中myisam与innodb的区别,至少5点(1)、问5点不同;1>.InnoDB支持事物,而MyISAM不支持事物2>.InnoDB支持行级锁,而MyISAM支持表级锁3>.InnoDB支持MVCC, 而MyISAM不支持4>.InnoDB支持外键,而MyISAM不支持5>.InnoDB不支持全文索引,而MyISAM支持。(2)、i...阅读全文

博文 2019-03-25 17:21:58 a1127889067

Bytom 储蓄分红 DAPP 开发指南

储蓄分红DAPP 储蓄分红合约简介 储蓄分红合约指的是项目方发起了一个锁仓计划(即储蓄合约和取现合约),用户可以在准备期自由选择锁仓金额参与该计划,等到锁仓到期之后还可以自动获取锁仓的利润。用户可以在准备期内(dueBlockHeight)参与储蓄,按照合约规定可以 1:1 获取同等数量的储蓄票据资产,同时用户锁仓的资产(deposit)将放到取现合约中,并且项目方是无法动用的,等到锁仓期限(expireBlockHeight)一到,用户便可以调用取现合约将自己储蓄的资产连本待息一同取出来。其示意图如下: 从上图中可以看出,项目方发布了一个利润为20%的锁仓项目,其中储蓄合约FixedLimitCollect锁定了1000个票据资产(bill),同时项目方将200个储蓄资产(deposit)...阅读全文

博文 2019-07-18 10:32:44 比原链Bytom

Go 每日一库之 go-ini

简介 ini 是 Windows 上常用的配置文件格式。MySQL 的 Windows 版就是使用 ini 格式存储配置的。go-ini是 Go 语言中用于操作 ini 文件的第三方库。 本文介绍go-ini库的使用。 快速使用 go-ini 是第三方库,使用前需要安装: $ go get gopkg.in/ini.v1 也可以使用 GitHub 上的仓库: $ go get github.com/go-ini/ini 首先,创建一个my.ini配置文件: app_name = awesome web # possible values: DEBUG, INFO, WARNING, ERROR, FATAL log_level = DEBUG [mysql] ip = 127.0.0.1 p...阅读全文

博文 2020-01-16 07:32:38 darjun

Go Web 编程之 数据库

概述 数据库用来存储数据。只要不是玩具项目,每个项目都需要用到数据库。现在用的最多的还是 MySQL,PostgreSQL的使用也在快速增长中。 在 Web 开发中,数据库也是必须的。本文将介绍如何在 Go 语言中操作数据库,基于 MySQL。本文假定大家已经掌握了数据库和 MySQL 的基础知识。 关于 MySQL 有一个非常详细的免费教程我放在参考中了,需要的自取。 Go 语言标准库database/sql只是提供了一组查询和操作数据库的接口,没有提供任何实现。在 Go 中操作数据库只能使用第三方库。 各种类型的数据库都有对应的第三方库。Go 中支持 MySQL 的驱动中最常见的是go-sql-driver/mysql。 该库支持database/sql,全部采用 go 实现。 数据库操...阅读全文

博文 2020-01-22 11:34:30 darjun

Go-sword(利刃????️)一款基于Go语言的可视化web管理后台生成工具

Demo 体验地址 <工具体验地址 http://go-sword.osinger.com/> <新项目地址http://go-sword-app.osinger.com/> Github 地址如下:https://github.com/sunshinev/... Go-sword(利刃)是一款基于Go语言的可视化web管理后台生成工具 目标就是快速的创建CRUD可视化的后台 根据MySQL的表结构,创建完整的管理后台界面,开发者无需再重复手动的创建具有CRUD能力的页面只需要点击按钮即可生成完整的管理后台 特点 一键生成,无需写一行代码 支持增加、删除、编辑、列表、批量删除、分页、检索 页面基于Vue.js + iView 针对每个数据表都生成了单独的逻辑文件,开发者可以求使用Vue或者i...阅读全文

博文 2020-04-27 23:32:45 jaysun

golang第五天

学习go操作mysql,crud测试 代码 package main /** * 使用go-sql-driver/mysql连接mysql *安装方式:go get -u github.com/go-sql-driver/mysql */ import ( _ "github.com/go-sql-driver/mysql" "database/sql" "fmt" "mypath" "crypto/md5" "encoding/hex" ) /** *声明数据库信息 */ const ( DB_TYPE = "mysql" DB_SOURCE_URL_GOLANG_TEST = "root:password@tcp(localhost:3306)/golang_test?charset=u...阅读全文

博文 2019-03-03 21:34:41 陌生人的头像

Docker(1):Virtualbox Install Centos7 & Docker

1,关于docker Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。 Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。 在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。 摘自: http://dockerpool.com/static/books/docker_practice/...阅读全文

博文 2017-07-12 10:24:23 freewebsys

兄弟连区块链教程btcpool矿池源码分析BlockMaker模块解析

btcpool矿池-BlockMaker模块解析 核心机制总结 blkmaker可以连多个bitcoind节点 blkmaker监听和接收4类消息:RAWGBT、STRATUM_JOB、SOLVED_SHARE和NMC_SOLVED_SHARE 监听RAWGBT目的为获取gbtHash/交易列表,用于构建Block,gbtHash和vtxs写入rawGbtMap_ * rawGbtMap_保存最近100条gbtHash/vtxs对 监听STRATUM_JOB目的为获取jobId_/gbtHash,jobId_和gbtHash写入jobId2GbtHash_ * jobId2GbtHash_保存最近120条jobId_/gbtHash对 监听SOLVED_SHARE目的为获取BlockHead...阅读全文

博文 2018-10-16 17:34:39 兄弟连区块链培训

Golang语言操作mysql数据

前言 作为优秀的语言如果不支持mysql那么,这个语言就会没有很大的市场了,下面一起来学习一下golang操作mysql吧 1.首先需要安装数据库驱动 ---> go get github.com/go-sql-driver/mysql 2.到这里你可能会遇到无法下载这个包那么你需要科普一下这两个知识点了 GOROOT -----> 这个是要放安装go语言运行的软件的根目录 GOPATH ------>这个是存放下载的src的目录 否则就会报错无法下载包各种错误 到此你完成了软件的安装工作开始写sql吧 _"github.com/go-sql-driver/mysql" // 注意前面的下划线_, "database/sql" 引入上面两个扩展包就可以开始愉快的操作了 1.连接数据库 db,...阅读全文

博文 2019-08-20 22:02:42 江江简书

【TiDB@丰巢】支付平台的迁移之旅

因为本文是我第一次发表在 丰巢技术团队 公众号上,所以在简书上发表只能算是转载。丰巢第一次在生产环境实际使用TiDB,是在2018年,其场景是每天产生一亿条以上数据的推送平台,当时我们还发了一篇文章,被PingCAP官方收录:TiDB at 丰巢:尝鲜分布式数据库。这次,因为实际的项目需要,我们选择了QPS和数据一致性要求更高的支付平台,作为第二个迁移到TiDB上的项目。由于丰巢的所有支付,都会通过该平台产生,所以其稳定性和性能,都是重中之重了,而这次的迁移之旅,也就特别的漫长和曲折。1. 支付平台现状及问题在迁移TiDB之前,丰巢支付平台全部运行于MySQL之上,其基本情况如下:实例数量:4台物理机,4个Master数据库数量:40+个数据库重要表分表数量:500+表分库分表规则:用户ID...阅读全文