发布一个参考ssdb,用go实现的类似redis的高性能nosql:ledisdb

起因ledisdb是一个参考ssdb,采用go实现,底层基于leveldb,类似redis的高性能nosql数据库,提供了kv,list,hash以及zset数据结构的支持。我们现在的应用极大的依赖redis,但随着我们用户量越来越大,redis的内存越来越不够用,并且replication可能还会导致超时问题。虽然后续我们可以通过添加多台机器来解决,但是在现有机器配置下面,我们仍希望单台机器承载更多的用户。另外,因为业务的特性,我们其实并不需要将所有的数据放到内存,只需要存放当前活跃用户。经过...阅读全文

CSDN博客 2014-05-10 16:59 siddontang

论go语言中goroutine的使用

go中的goroutine是go语言在语言级别支持并发的一种特性。初接触go的时候对go的goroutine的欢喜至极,实现并发简便到简直bt的地步。但是在项目过程中,越来越发现goroutine是一个很容易被大家滥用的东西。goroutine是一把双面刃。这里列举一下goroutine使用的几宗罪: 1 goroutine的指针传递是不安全的 1 2 3 4 5 6 7 8 fun main() {     request := request.Ne...阅读全文

CSDN博客 2014-01-13 15:06 kjfcpua

golang环境搭建

好久没写博客了,最近加班好厉害,加到自己都觉得不太适合这个行业了,每天头都是沉甸甸的,可惜今年注定不是收获的季节。 最近忙里偷闲在学习nodejs,赶巧看到golang的文章,一直觉得golang目前还不是特别目前的web开发,毕竟现在开发库感觉还不是特别多。不过刚好有时间,就搭建个环境先,发现网络上这方面的不是特别多,就有了此文。 一、下载地址 http://code.google.com/p/go/downloads/list   不多说,按各自需要选择,自己下载的是go1.1.2.wind...阅读全文

博客园 2013-09-17 22:50 draem0507

golang--读uniqush看http.Handle

uniqush是一款用golang写的推送服务工具,它的介绍在这里。官网在这里,源码托管在github。uniqush现在的版本是1.4.2, 在我们国人用golang写的代码中,这个应该算是出类拔萃的。 在main.go文件里面的main()函数,直接就运行Run()函数,它会返回一个error值。在configparser.go里面找到Run()函数的定义,里面运行了2个goroutine。1个goroutine是rest.signalSetup()函数,在类unix平台下,它会监控sysc...阅读全文

博客园 2013-04-16 18:22 getong

跟无闻学习GO Web 编程(二) -- 安装 Go 第三方包 go-sqlite3

32 位 windows 的安装 安装 sqlite3。到 http://www.sqlite.org/download.html 的页面中,找到 sqlite-dll-win32-x86-3071700.zip 下载解压,并把里面的 dll 文件复制到 windows/system32 目录下。 下载 gcc 编译器。到 http://tdm-gcc.tdragon.net/download,下载 tdm-gcc-4.7.1-2。如果是 64 位的 win,下载 t...阅读全文

开源中国博客 2013-08-20 06:09 Tom-Lin

【Go web开发之revel+mgo】第3章 Blog的首页与投稿实现

演示地址   http://gblog-revel.herokuapp.com/ 1.实现投稿功能 我们先在app下建一个models文件夹(放的主要是我们的db models),在models里先建一个dao.go(恩,名字起的有点类似orm的概念,其实我们是可以使用orm框架来做的)内容: package models import ( "labix.org/v2/mgo" ) const ( DbName = "ominds" BlogCollection = "blogs" C...阅读全文

CSDN博客 2014-04-24 14:48 jov123

golang websocket 聊天室demo

近期偶然的机会看到一些go的websocket技术方案,顺便写了个demo,玩了一下: 首先安装websocket包 go get code.google.com/p/go.net/websocket   websocket 聊天室代码: package main      import (     "fmt"     "io"     "bufio"     "net/http"     "code.google.com/p/go.net/websocket"     "container/l...阅读全文

博客园 2013-06-04 10:24 bozhang

linux下go的动态链接库的使用

在使用lua进行服务器端游戏逻辑开发时,发现了LUA的各种不方便的地方,不能编译检查,不能断点调试,笔误的函数和变量不提示出错等等,所以有了全部使用go来做服务器端开发的想法。 如果不需要热更新,那使用go开发服务器逻辑是很轻松的,而游戏服务器特别是页游,一般都需要支持热更新,所以我决定使用go的动态链接库方式来实现,也就是底层框架是go,上层逻辑是go的动态链接库。go原生不支持动态链接库,在查阅了很多文章之后,决定使用gccgo来实现。 经过了大约一周的时间,终于把框架搭建起来了,期间遇到了...阅读全文

CSDN博客 2014-03-16 17:18 xtxy

why go?

Go编程语言开始于2007年。原始设计者Robert  Griesemer 和Unix大师 Rob Pike和Ken  Thompson。2009年11月10日,Go公开公布开源自由许可。 选择go的理由: Go设计可有效地扩展,以便用于构建大的应用程序。 编译速度快。语言容易解析,编译轻快。还有就是它的依赖管理。如app.go分别依赖pkg1.go和pkg2.go对象文件,传统编译语言需求依赖pkg1.go和pkg2.go对象文件。但是Go,pkg2.g...阅读全文

开源中国博客 2013-02-04 00:00 yang.z

使用 beego 搭建 web 应用之一

介绍 你是一个从PHP,Python,Ruby等动态语言转移到Go的web应用开发人员吗?想知道怎样使用Go开发基于web的应用程序吗?你想要知道怎样使用类似于已知的框架的方式进行开发,在那儿你能重复的利用已知的知识? 如果是这样,那么你可能已经做了一些搜索,无论是在谷歌,StackOverflow的或其他网站,以寻求一个框架来帮助你;你可能已经看到了有许多可能的选择,包括Beego,Martini和Gorilla,另外还有net/http包。 这四个当中,我尝试的最多的就是Beego。...阅读全文

开源中国翻译 2014-10-04 19:25:57 中奖啦, 地狱星星, --zx 等

使用go reflect实现一套简易的rpc框架

go jsonrpc 在实际项目中,我们经常会碰到服务之间交互的情况,如何方便的与远端服务进行交互,就是一个需要我们考虑的问题。 通常,我们可以采用restful的编程方式,各个服务提供相应的web接口,相互之间通过http方式进行调用。或者采用rpc方式,约定json格式进行数据交互。 在我们的项目中,服务端对用户客户端提供的是restful的接口方式,而在服务器内部,我们则采用rpc方式进行服务之间的交互。 go语言本来就提供了jsonrpc的支持,所以自然开始我们就直接使用json...阅读全文

CSDN博客 2014-02-21 09:45 siddontang

[go]ipv6 ping测试

其实很简单.就是对照go源码的ipraw_test.go和之前的ping.go 改造一个ping6.go.变化很小 // Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // taken from http://golang.org...阅读全文

CSDN博客 2013-12-09 17:23 laputa73

golang的 IntelliJ Idea插件 google-go-lang-idea-plugin 编译方法 build in windows

google-go-lang-idea-plugin 插件虽然好,但是官方的编译版总是更新很慢,所以需要自己编译,问了老外才知道怎么编译,编译方法如下: I opened this project in IDEA Community 13 (or whatever the latest EAP is), then choose the SDK as the program folder (C:\Program Files\JetBrains\Intellik IDEA Community ...阅读全文

CSDN博客 2013-11-26 12:15 mokt2001

ubuntu下安装golang(转)

http://my.oschina.net/u/140663/blog/178035   golang官方编译器安装与配置因为golang是用部分功能语言编写的,所有首先应安装gcc, sudo apt-get install bison gawk gcc libc6-dev make 安装mercurial工具,用于提取golang的源代码 sudo apt-get install mercurial 提取golang的原代码 hg clone -r release https://go.go...阅读全文

博客园 2014-02-09 19:02 ggaaooppeennngg

golang连接orcale

使用glang有一段时间了,最开始其实并不太喜欢他的语法,但是后来熟悉之后发现用起来还挺爽的。之前数据库一直使用mysql,连接起来没有什么问题,github上有很多完善的驱动,所以以为连接其他数据库也应该没什么问题,近日听说其连接orcale比较麻烦,所以就试了试。     之所以连接orcale比较麻烦是因为orcale并没有提供golang的驱动,所以并不能像java那样引入个驱动包就能连接,也不能像mysql之类的开源数据库可以自己实现驱动。不过正所谓天无绝人之路,既然纯go实现不了,...阅读全文

博客园 2014-06-16 22:53 good-temper

go语言

学习go语言差不多快一年了,期间在公司也做过几个项目,马上就要就要毕业了(现在大四,目前在一家创业公司实习),就像着使用go语言做个毕业设计。 基本想法就是,使用go revel框架,实现一个简单的网站。虽然毕业设计做网站没有什么稀奇,但是使用一个最新的语言和最新的框架来完成一个可以帮助大家的网站,个人觉得还是很有意义的。 网站的域名都已经申请好了。希望大家能够多多关照。网站现在只是做了几个简单的页面,由于没有服务器,所以现在大家还看不到。现在是,白天上班,晚上回家做毕业设计,期间还...阅读全文

开源中国博客 2013-12-02 11:45 zongjh