使用下面的一段代码来统计链接的访问情况,使用方法就是用 Incr 每次访问加 1 单独测试的时候,比如用 wrk 来压测都挺正常的 神奇的是,一换成 nginx,c.data 里面的 key 就变得不正常,把他打印出来,发现有很多相同的 key 比如本来就只有一个 key 的,他会出现 key: 1, key: 2, key: 1, key: 1 这种,搞不懂。。。
type Counter struct {
sync.RWMutex
data map[string]int
}
func (c *Counter) Get(key string) int {
c.RLock()
count := c.data[key]
c.RUnlock()
return count
}
func (c *Counter) Incr(key string) int {
c.Lock()
c.data[key]++
count := c.data[key]
c.Unlock()
return count
}
func (c *Counter) Delete(key string) {
c.Lock()
delete(c.data, key)
c.Unlock()
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.