古老的榕树

在 Ubuntu 上搭建单机版 Redis

为什么用到 Redis? 最近开发一个类似抢拍的拍卖 App;有个环节是需要秒刷新的,而且多少个商品同时需求秒请求订单数据,这时想想长期以往 MySQL 肯定应付不了, 所以采用了内存数据库的方案,当然就先到 Redis 了;其实 memcached 也是比较好的选择,但后期的数据结构需保留一定的灵活性,所以选择了 Redis。终端请求的数据,生命周 ... 阅读全文
发表于 2018-01-14 00:33 阅读(2896) 评论(0) 赞(1)

优雅地关闭 Go HTTP 服务

Go 1.8 之后,http.Server 增加了 Shutdown 函数,类似于第三方的 graceful 插件一样,可以平滑的关闭自身 HTTP 服务了,我们看看代码: package main import ( "context" "github.com/urfave/negroni" "log" "net/http" "os" "os/signal" "time" ) func main(){ mux := http.NewServeMux() mux.HandleFunc("/", func(w http.Response ... 阅读全文
发表于 2018-01-11 11:51 阅读(4694) 评论(0) 赞(1)

Go 定时器 cron 表达式的使用

上次在《Go 定时器 cron 的使用》里说 cron 简单使用方法,如果想更灵活的使用定时,可能会涉及到更复杂的六位表达式的使用方法,如每半小时执行一次: 0 30 * * * * 六位的表达式看起来,有点费解,好比正则表达式一样,我们需要按步骤来理解; 理解六个作用域的意义 0 0 0 1 1 * 0 0 0 1 * * 0 0 0 * * 0 0 0 0 * * * 0 0 * * * * ... 阅读全文
发表于 2018-01-11 00:02 阅读(2981) 评论(0) 赞(1)

Go 定时器 cron 的使用

cron 是 robfig 开发的一个定时作业库,robfig 总是想的比别人早,给了我们这些 Gopher 不少急需的东西,想当年 revel 的出现也是这样的。看看 cron 的使用,还是一如既往的简洁明了,发现 Go 的世界里,有些产品还是有鲜明的个人特质的,那就是所谓的个人魅力吧?! 总之 robfig 开发的产品都是有一定超前性,比较有理论基础,使用起 ... 阅读全文
发表于 2018-01-10 23:57 阅读(3312) 评论(0) 赞(3)

Negroni 应用教程系列(二)

在介绍 Negroni 经典实例三大组件:日志 Logger,异常 Recovery,静态文件 Static 之前,需要说说它们采用的底层内幕,那就是中间件。Negroni 负责把一个个中间件链接起来,按照顺序逐一执行,形成一个中间件链。 Negroni 中间件实质是一个接口,名为 Handler,我们看看它的定义: type Handler interface { ServeHTTP(rw http.Respon ... 阅读全文
发表于 2018-01-10 23:52 阅读(2990) 评论(1) 赞(2)

Negroni 应用教程系列(一)

创建一个 Web 服务器 Negroni 本身和 Go 语言哲学是一脉相承的,这是作者的初衷。我们看看怎么创建一个 Web 服务器。 新建一个 server.go 文件,代码如下: package main import ( "fmt" "net/http" "github.com/urfave/negroni" ) func main() { mux := http.NewServeMux() mux.HandleFunc("/", func(w http.ResponseWriter, req *ht ... 阅读全文
发表于 2018-01-10 23:48 阅读(2475) 评论(0) 赞(2)
第 1 页,共 6 条记录,共 1 页

关于作者

About Me

忘却理想,只为洒脱地活着!

文章数(101)

评论数(54)

访问数(366952)

最新评论