原文出处:http://www.jb51.cc/article/p-wqmxalhu-ng.html
请支持该文原创作者 rfyiamcool 的博客 峰云,就她了。
前沿:
这两天试着用golang做一些高性能的api,不想把压力到聚合在平台的接口上。平台因为要做很多耗时间的操作,uwsgi下会出现少许错误,找了一圈不知道如何解决该问题。 暂时先绕道而行,先拿简单的接口来做测试,慢慢的把复杂的操作也迁移到golang上。
话说以前高性能的接口,我用的最多的方案还是Nginx lua的组合,超强,大家可以看看我以前写的Nginx lua的文章,各方面没得说。只是这段时间正在看golang 的,就试着用golang实现redis的api,先来个简单的试试手。
里面引用的是golang自带的http模块,redis是自己down的。
golang redis的配置方法:
先简单说下,golang对于redis的操作方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
//xiaorui.cc@H_403_48@
package main@H_403_48@
)@H_403_48@
/*@H_403_48@
*/@H_403_48@
func main () {@H_403_48@
@H_403_48@
@H_403_48@
@H_403_48@
@H_403_48@
@H_403_48@
@H_403_48@
@H_403_48@
@H_403_48@
@H_403_48@
@H_403_48@
}@H_403_48@
|
我写的实例,大家看懂了后,完全可以做更多的扩展。
其实golang自带的http很有mvc的感觉,三者做了一些分离,很像python里面的web.py tornado。。。
测试结果:
服务端的启动
客户端的测试
原文:http://www.jb51.cc/article/p-wqmxalhu-ng.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
//xiaorui.cc@H_403_48@
)@H_403_48@
//xiaorui.cc@H_403_48@
<html><body>@H_403_48@
</form>@H_403_48@
</body></html>@H_403_48@
`@H_403_48@
<html><body>@H_403_48@
</form>@H_403_48@
</body></html>@H_403_48@
`@H_403_48@
func Handler( w http.ResponseWriter,r *http.Request ){@H_403_48@
}@H_403_48@
@H_403_48@
func Add( w http.ResponseWriter,r *http.Request ){@H_403_48@
@H_403_48@
@H_403_48@
}@H_403_48@
func redisset( w http.ResponseWriter,r *http.Request ){@H_403_48@
@H_403_48@
@H_403_48@
@H_403_48@
@H_403_48@
}@H_403_48@
func redisget( w http.ResponseWriter,r *http.Request ){@H_403_48@
@H_403_48@
@H_403_48@
@H_403_48@
}@H_403_48@
func valueget(w http.ResponseWriter,r *http.Request) {@H_403_48@
}@H_403_48@
@H_403_48@
func main(){@H_403_48@
}@H_403_48@
|
对于go的基础教程,我也写过其他的文章,大家可以参考下。
关于Golang语言的web编程的实例及常见问题
http://www.jb51.cc/article/p-cvbhvbgk-ng.html
关于Go语言在服务端做Restful接口和socket通信
http://www.jb51.cc/article/p-usbcgzmu-ng.html
原文出处:http://www.jb51.cc/article/p-wqmxalhu-ng.html
请支持该文原创作者 rfyiamcool 的博客 峰云,就她了。