首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
排骨JZh
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
8
文章 8
沸点 0
赞
8
返回
|
搜索文章
赞
文章( 8 )
沸点( 0 )
迁移mgo到qmgo实现MongoDB事务等特性支持
mgo 是一个方便的 golang 操作 mongodb 的库,但是它对 mongodb 的最新特性的支持不足。 偏偏老项目是用 mgo 写的,如果要迁移到官方的 mongo-driver,官方的 mongo-driver 的封装更原始,用法差异较大,迁移成本会比较高。这时候我…
Go mod 同一个module的多版本问题
答案是:全局使用二者之中最新的版本来运行程序。 然后在test.go里调用mtest包里的方法RunTest(),此时,go mod会选择二者中最新的版本来进行编译和运行,也是就说test.go和mtest.go里使用的qmgo都是v0.7.7版本(test.go一级的go.m…
MongoDB如何从指定节点读取数据
除开提供API,最简单直接的方案,就是单独开一个从节点给他们使用,希望他们只在这个从节点上读取,做到不影响其他节点。 要得到答案,就需要介绍一下mongoDB的writeConcern和ReadPref,他们和MongoDB的replica set读写的控制逻辑息息相关,看完这…
Qmgo - 更好用的Go语言MongoDB driver
最近,七牛CDN研发团队开源了Qmgo - Go语言的MongoDB driver,它基于Mongo官方driver实现,但是有着更好的易用性,设计上参考了老牌的driver Mgo (比如Mgo的链式调用)。 做Qmgo的初衷,来自于使用MongoDB的gopher们共同的困…
labix.org/mgo 连接池泄漏问题
labix.org/mgo是golang常用的mongo driver,笔者的项目中重度依赖,不过项目年久失修,已经不维护。所以结论是用官方包。 最近在使用中,我发现了一个问题,服务对mongo的长连接一直缓慢增长,形似mongo连接泄漏。 查看了下mgo源码,发现mgo内部维…
从Golang Slice的内存泄漏来理解Slice的使用逻辑
Golang虽然是自带GC的语言,仍然存在内存泄漏的情况,这片文章总结了Golang中内存泄漏的情况。 其中Slice的内存泄漏是最容易中招的,看看这个PR: writev 的 leak,Golang官方都踩了坑。 本文将就其中的Slice内存泄漏的情况做分析,并介绍Slice…
Golang的sync.WaitGroup 实现逻辑和源码解析
方便的并发,是Golang的一大特色优势,而使用并发,对sync包的WaitGroup不会陌生。WaitGroup主要用来做Golang并发实例即Goroutine的等待,当使用go启动多个并发程序,通过waitgroup可以等待所有go程序结束后再执行后面的代码逻辑,比如: …
Golang robfig/cron 实现解析
robfig/cron是GO语言中一个定时执行注册任务的package,最近我在工程中使用到了它,由于它的实现优雅且简单(主要是简单),所以将源码过了一遍,记录和分享在此。 Demo代码如下,先用cron.New()初始化一个实例,然后调用AddFunc(spec string…
个人成就
文章被点赞
24
文章被阅读
36,386
掘力值
519
关注了
7
关注者
9
收藏集
0
关注标签
10
加入于
2020-01-15