Golang你一定要懂的连接池实现
问题引入作为一名golang开发者,线上环境遇到过好几次连接数暴增问题(mysql/redis/kafka等)。纠其原因,golang作为常驻进程,请求第三方服务或者资源完毕后,需要手动关闭连接,否则连接会一直存在。...Golang实现AES对称加密的过程详解
aes加密aes对称加密简介aes是一个对称密码,旨在取代des成为广泛使用的标准。是美国联邦政府采用的一种区块加密标准。aes对称加密过程加密解密算法的输入是一个128位分组。这些分组被描述成4×4的字...- 0
- 0
- 0
- 0
- 0
用go gin server来做文件上传服务
之前已经goget安装了gin,现在来玩下用goginserver作图片上传服务,代码目录如下:taoge:~/test_gin$tree.|--public|--template|`--select_file.html`--test_gin_server.go2directories,2filestao...- 0
- 0
- 0
- 0
- 0
golang连接kafka消费进ES操作
1.首先初始化conf配置把kafka和es的地址配置好还有一个日志方便查看配置信息如下用到的库是github.com/astaxie/beego/config[logs]log_level=debuglog_path="./logs/log_transfer.log"[kafka]s...- 0
- 0
- 0
- 0
- 0
golang中对"引用传递"的误解
前情提要最近看很多教程或者说博客上都说golang中的slice、map、channel、func都是“引用传递”,然而一方面又说golang中所有类型都是值传递,总感觉有些云里雾里的,于是我亲自做了下测试和思考。这里...- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
golang切片扩容规则实现
golang扩容规则举个例子来演示下此时容量由原来的4扩容到了8,你以为就是简单的2倍吗?那你可真理解错了,你得知道他背后扩容的原因,我来给你计算下1、原来的容量为4,追加了5000,6000后变为了6个,...- 0
- 0
- 0
- 0
- 0
浅谈golang结构体偷懒初始化
运行一段程序,警告:service/mysqlconfig.go:63::error:golang.guazi-corp.com/tools/ksql-runner/model.creatingmysqlmongodbrecordcompositeliteralusesunkeyedfields(vet)其中,compositelite...- 0
- 0
- 0
- 0
- 0
Golang生成Excel文档的方法步骤
基于数据生成excel文档是一个很常见的需求,本文将介绍如何使用go的excelize库去生成excel文档,以及一些具体场景下的代码实现。关于excelize库excelize是go语言编写的用于操作officeexcel文档基...- 0
- 0
- 0
- 0
- 0
Golang 实现Thrift客户端连接池方式
1前言阅读文章之前,请先了解一下thrift相关知识。并没有提供客户端连接池的实现方案,而我们在实际使用时,thrift客户端必须复用,来保证较为可观的吞吐量,并避免在高qps调用情况下,不断的创建、释...- 0
- 0
- 0
- 0
- 0
golang网络通信超时设置方式
网络通信中,为了防止长时间无响应的情况,经常会用到网络连接超时、读写超时的设置。本文结合例子简介golang的连接超时和读写超时设置。1.超时设置1.1连接超时funcdialtimeout(network,addressstri...- 0
- 0
- 0
- 0
- 0
Golang全局变量加锁的问题解决
如果全局变量只读取那自然是不需要加锁的如果全局变量多进程读,多进程写,那自然是需要加读写锁的但是如果全局变量只有一个进程写,其他进程读呢?如果采用cow的方式,写进程只是通过单次赋值的方...- 0
- 0
- 0
- 0
- 0
golang 限制同一时间的并发量操作
go的并发量是很厉害的,goroutine创建的代价极小,其中一个重要的原因是因为go采用了分段栈技术,每一个goroutine只占极小的空间。与此同时,goroutine是语言层面的,减少了内核态到用户态的切换开销...- 0
- 0
- 0
- 0
- 0
聊聊golang中多个defer的执行顺序
golang中多个defer的执行顺序引用turego中的一个示例:packagemainimport"fmt"funcmain(){fmt.println("counting")fori:=0;i<10;i++{deferfmt.println(i)}fmt.println("done")}程序执行结果为:c...- 0
- 0
- 0
- 0
- 0
GoLang中生成UUID唯一标识的实现
1、什么是uuiduuid简介通用唯一识别码(英语:universallyuniqueidentifier,简称uuid)是一种软件建构的标准,亦为自由软件基金会组织在分散式计算环境领域的一部份。uuid的目的,是让分散式系统中的...- 0
- 0
- 0
- 0
- 0
golang 格式化输入输出操作
格式化字符串由占位符和普通字符组合而成。占位符由'%'打头,动词结尾。占位符由五类元素组成:标志位(flag),宽度,精度,参数索引,以及动词。除了最后的动词之外,其他元素均可省略。看下面的常用类型...- 0
- 0
- 0
- 0
- 0
Golang 获取文件md5校验的方法以及效率对比
近期有一个需求:获取多个文件md5校验和判断是否存在重复文件,因为文件数量较多,有的文件还比较大,需要处理的文件还没有到位,我就考虑了一下效率的问题。目前我已知的golang中获取md5校验和的方...- 0
- 0
- 0
- 0
- 0
[Go] 在golang中使用正则表达式捕获子表达式
正则匹配并且可以捕获到()这个里面的子表达式的值,linux的grep命令没办法捕获子表达式的值,只能获取到整条正则匹配的内容packagemainimport"regexp"import"fmt"funcmain(){str:=`(.*?)(\d+)(.*...- 0
- 0
- 0
- 0
- 0
golang中cache组件的使用及groupcache源码解析
groupcache简介在软件系统中使用缓存,可以降低系统响应时间,提高用户体验,降低某些系统模块的压力.groupcache是一款开源的缓存组件.与memcache与redis不同的时,groupcache不需要单独的部署,可...- 0
- 0
- 0
- 0
- 0