golang redigo lua解决性能问题

Golang,redis 324 views
前言:     我们知道使用redis计数可以使用incrby, hincrby 等计数指令,因为redis的工作线程只有一个,所以保证了并发原子的控制。  由于我们的业务的特殊性,有增有减,有各类状态值的判断,尤其在异常情况下,计数会减到0以下,负数是不能忍的...
阅读全文 0

golang redigo lua解决性能问题

08-16 324 views

前言:     我们知道使用redis计数可以使用incrby, hincrby 等计数指令,因为redis的工作线程只有一个,所以保证了并发原子的控制。  由...
阅读全文 0

探讨可持久化高并发队列的实现

Golang,架构设计 505 views
探讨可持久化高并发队列的实现 … …  为什么会有这样的想法 ? 主流的持久化方案分两类: 实时持久化… 异步持久化…  Redis 的队列持久化是怎么实现的? Gola...
阅读全文 0

探讨可持久化高并发队列的实现

07-14 505 views

探讨可持久化高并发队列的实现 … …  为什么会有这样的想法 ? 主流的持久化方案分两类: 实时持久化… ...
阅读全文 0

golang实现封装trycatch异常处理

Golang 386 views
社区不少人在谈论 golang 为毛不用trycatch模式,而采用苛刻的recovery、panic、defer组合….    从老外那整了一个trycatch包,感觉不错,拿出来分享下…  Python package main import ( "re...
阅读全文 0

golang实现封装trycatch异常处理

07-06 386 views

社区不少人在谈论 golang 为毛不用trycatch模式,而采用苛刻的recovery、panic、defer组合….    从老外那整了一个trycatch包,感觉不错,...
阅读全文 0

技术分享 《分布式一致性raft算法实现原理》

Golang,技术分享 4,450 views
       这段时间跟同事聊了不少分布式系统中的常用算法协议,中间有聊到分布式一致性的话题,当然我们对一致性理解都是那种介绍的层次。  哈哈 , 后来用了心思去学习分布式一致性协议 raft,  现在有些心得,就拿出来给同事分享下。...
阅读全文 7

技术分享 《分布式一致性raft算法实现原理》

07-08 4,450 views

       这段时间跟同事聊了不少分布式系统中的常用算法协议,中间有聊到分布式一致性的话题,当然我们对一致性理解都是那种介绍的层次...
阅读全文 7

Golang使用zlib压缩和解压缩字符串

Golang 4,583 views
在python的时候就习惯使用zlib进行网页压缩。 golang下同样使用zlib进行压缩解压缩。  zlib官方给出的方法很简单,这里权当一个补充.  文章时常有修改,更新.  标注下golang zlib原文地址, http://xiaorui.cc/?p=3084 zlib.NewWriter()...
阅读全文 0

Golang使用zlib压缩和解压缩字符串

03-30 4,583 views

在python的时候就习惯使用zlib进行网页压缩。 golang下同样使用zlib进行压缩解压缩。  zlib官方给出的方法很简单,这里权当一个补充.  文章...
阅读全文 0

golang随机time.sleep的Duration问题

Golang 6,496 views
碰到一个Golang time.Sleep()的问题,这golang的time.sleep的功能貌似要比python ruby都要精细些,python的等待只是time.sleep()而已,而golang可以time.Sleep(10 * time.Second) 毫秒、秒分时等不同日期来搞… 大事不干,净整些没用的…   ...
阅读全文 0

golang随机time.sleep的Duration问题

03-23 6,496 views

碰到一个Golang time.Sleep()的问题,这golang的time.sleep的功能貌似要比python ruby都要精细些,python的等待只是time.sleep()而已,而golang可以time.Sl...
阅读全文 0

Golang使用redigo实现redis的分布式锁

Golang 5,865 views
有些分布式场景会有分布式锁的需求,可以为了原子操作,也可能为了性能的原因,不管是分布式锁市面是有不少解决方法的,比如etcd、consul、zookeeper… 初次之外redis这样的nosql也是可以实现分布式锁的。  python党喜欢用redis、etcd、consul来搞。 &nb...
阅读全文 0

Golang使用redigo实现redis的分布式锁

5,865 views

有些分布式场景会有分布式锁的需求,可以为了原子操作,也可能为了性能的原因,不管是分布式锁市面是有不少解决方法的,比如etcd、consul、zookeeper…...
阅读全文 0

golang使用yaml格式解析构建配置文件

Golang 6,774 views
还是那个golang监控agent那些事情,现在功能差不多了,唯独缺少信号处理及daemon服务化。 程序写的差不多了,但是这配置文件咋整? 难道把这些常亮要写在.go文件里面? 我对golang还没能理解到无缝reload的模式…  如果是写在配置文件就很简单了...
阅读全文 0

golang使用yaml格式解析构建配置文件

03-20 6,774 views

还是那个golang监控agent那些事情,现在功能差不多了,唯独缺少信号处理及daemon服务化。 程序写的差不多了,但是这配置文件咋整? 难道把这些常亮要写在.g...
阅读全文 0

Golang使用pprof监控性能及GC调优

Golang 8,287 views
这两天用golang在写一个监控的agent,发现长时间运行后会有内存泄露的情况,着实让人郁闷半天… 要解决golang泄露的问题,要理解goalng gc那是事情,再就是利用pprof监视golang的运行环境。 该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,...
阅读全文 3

Golang使用pprof监控性能及GC调优

8,287 views

这两天用golang在写一个监控的agent,发现长时间运行后会有内存泄露的情况,着实让人郁闷半天… 要解决golang泄露的问题,要理解goalng gc那是事情,...
阅读全文 3

Golang利用select实现goroutine的超时控制

Golang 5,665 views
简单的说下select是干什么的? select用来让我们的程序监视多个文件句柄(file descriptor)的状态变化的处理机制。当你发起一些阻塞的请求后,你可以使用select机制轮训扫描fd,直到被监视的文件句柄有某一个或多个发生了状态改变。  该文章写的有...
阅读全文 1

Golang利用select实现goroutine的超时控制

03-19 5,665 views

简单的说下select是干什么的? select用来让我们的程序监视多个文件句柄(file descriptor)的状态变化的处理机制。当你发起一些阻塞的请求后,你可以使...
阅读全文 1

关于golang regexp正则的使用方法

Golang 4,772 views
今天正好看到golang的正则模式,就针对常用的几个正则模式写个分享。 正则的基础我就不多说了,用法和原理都那么一回事。 Regexp也是兼容贪婪、非贪婪模式的匹配。  该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新 http:...
阅读全文 0

关于golang regexp正则的使用方法

03-16 4,772 views

今天正好看到golang的正则模式,就针对常用的几个正则模式写个分享。 正则的基础我就不多说了,用法和原理都那么一回事。 Regexp也是兼容贪婪、非贪婪模式...
阅读全文 0

使用golang log库包实现日志文件输出

Golang 7,670 views
这次聊聊golang日志模块的详细用法。golang的日志输出一般用的是标准库log库包。 话说Golang的log实现的功能跟别语言的日志没啥区别。 该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新。 http://xiaorui.cc/?p=2972 ...
阅读全文 0

使用golang log库包实现日志文件输出

03-15 7,670 views

这次聊聊golang日志模块的详细用法。golang的日志输出一般用的是标准库log库包。 话说Golang的log实现的功能跟别语言的日志没啥区别。 该文章写的有些...
阅读全文 0

使用golang errors包自定义错误异常

Golang 4,806 views
发现Golang很多开源的package都是使用Error来定义错误异常,其实我自己更加的习惯利用返回的值进行判断。 虽然这么说,但Golang的error定义还是有意思的,合理就返回nil,不合理就返回Error的草错误。   该文章写的有些乱,欢迎来喷 ! 另外文章后续不...
阅读全文 0

使用golang errors包自定义错误异常

4,806 views

发现Golang很多开源的package都是使用Error来定义错误异常,其实我自己更加的习惯利用返回的值进行判断。 虽然这么说,但Golang的error定义还是有意思的,...
阅读全文 0

浅谈golang reflect反射调用函数

Golang 5,342 views
Golang也是有反射概念的,其实大多数语言,尤其那种动态语言都有反射的概念和用法。 在python里getattr,globals()可以通过反射自省的模式来还原对象半身的属性和方法。 废话一句,反射是干嘛的?  通过反射我们可以还原一个对像的属性,方法。 通俗的讲,在分布...
阅读全文 0

浅谈golang reflect反射调用函数

03-14 5,342 views

Golang也是有反射概念的,其实大多数语言,尤其那种动态语言都有反射的概念和用法。 在python里getattr,globals()可以通过反射自省的模式来还原对象半身的属...
阅读全文 0

关于golang package自定义包结构

Golang 5,517 views
我想说的是,好家伙Golang的项目构建稍有些繁琐呀,用户体验来说没有python、java那么简单方便。 在Google搜索golang package自定义包方面的资料,发现搜索的结果不是很令人满意。不是说的很浅,就是说的很深,都伸到编译器层面了,蒙圈… 该文章写的有...
阅读全文 0

关于golang package自定义包结构

03-13 5,517 views

我想说的是,好家伙Golang的项目构建稍有些繁琐呀,用户体验来说没有python、java那么简单方便。 在Google搜索golang package自定义包方面的资料,发现搜索的...
阅读全文 0

golang set集合实现去重及交叉并集计算

Golang 6,359 views
     还是需要吐槽下golang默认的标准库不是很全面,虽然可以通过map来实现简易的set集合,但这毕竟费工夫呀。不知道golang啥时候才能有个较完美的库包服务,类似python的pypi,node.js的npm… 该文章写的有些乱,欢迎来喷 ! 另外文章...
阅读全文 0

golang set集合实现去重及交叉并集计算

03-11 6,359 views

     还是需要吐槽下golang默认的标准库不是很全面,虽然可以通过map来实现简易的set集合,但这毕竟费工夫呀。不知道golang啥时候才能有个...
阅读全文 0

关于golang struct interface的理解使用

Golang 5,630 views
前端时间说了不少golang常用库包的使用,貌似没有详细说struct interface的概念。在说interface之前,我们知道在Golang 中是没有类class 的概念,golang是通过 interface 类型接口实现的继承多态的效果。 一个 interface 类型定义了一个方法集做接口。 使用golang...
阅读全文 0

关于golang struct interface的理解使用

5,630 views

前端时间说了不少golang常用库包的使用,貌似没有详细说struct interface的概念。在说interface之前,我们知道在Golang 中是没有类class 的概念,golang是通...
阅读全文 0

golang使用priority queue实现优先级队列

Golang 4,659 views
     我们知道类似优先级队列是使用heap堆栈来实现的。 优先级队列的用途我就不多说了,一般是用来做任务权重分配的。     下面priority_queue优先级库是在github.com找到的。 看了下他的源代码实现,得知他不是线程安全的。   ...
阅读全文 0

golang使用priority queue实现优先级队列

03-10 4,659 views

     我们知道类似优先级队列是使用heap堆栈来实现的。 优先级队列的用途我就不多说了,一般是用来做任务权重分配的。     下...
阅读全文 0

golang使用sync保证container/list链表线程安全

Golang 5,987 views
一边python,一边golang ! 时常因为工作切换语言造成了短路。container/list是golang语言内置的链表库。 对比其他语言的list,container/list该有的功能都有,就缺一个popLeft popRight方法。如果要实现pop方法需要去除value := list.Back() , 然后list.Remove(va...
阅读全文 0

golang使用sync保证container/list链表线程安全

5,987 views

一边python,一边golang ! 时常因为工作切换语言造成了短路。container/list是golang语言内置的链表库。 对比其他语言的list,container/list该有的功能都...
阅读全文 0

关于golang的panic recover异常错误处理

Golang 5,135 views
Golang这么时尚的语言是没有类似try..catch 这种异常处理机制,而是使用 panic 和 recover处理异常. 其实相当于python的raise。 golang的异常处理组合 panic,defer,recover,跟java中的try catch finially是类似的。 但是从语言的用户体验来说,不怎么好。 但考虑...
阅读全文 0

关于golang的panic recover异常错误处理

03-09 5,135 views

Golang这么时尚的语言是没有类似try..catch 这种异常处理机制,而是使用 panic 和 recover处理异常. 其实相当于python的raise。 golang的异常处理组合 panic...
阅读全文 0

解决golang开发socket服务时粘包半包bug

Golang 6,523 views
在使用golang做socket服务时,我想大多数人都会碰见粘包的问题。 以前用python做socket服务时就想写一篇关于tcp粘包的问题,后来因为单纯的tcp服务器开发功能实在烦杂,索性直接用http tornado进行通信了。 下面的资料有些是来自我个人的印象笔记,相关的参考引用链...
阅读全文 0

解决golang开发socket服务时粘包半包bug

03-08 6,523 views

在使用golang做socket服务时,我想大多数人都会碰见粘包的问题。 以前用python做socket服务时就想写一篇关于tcp粘包的问题,后来因为单纯的tcp服务器开发功...
阅读全文 0