golang 简单解释内存逃逸

先提一个问题: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 // escape.go package main import "fmt" func intSeq() func() int { i := 0 return func() int { i++ return i } } func main() { nextInt := intSeq() fmt.Println(nextInt()) fmt.Println(nextInt()) fmt.Println(nextInt()) } 会输出什么? 先简单介绍一

Redis 统计uv

日常接需求的时候, PM提出来一个需要统计页面UV/PV的需求你怎么做? 场景 下面有三个选择: 甩给公司的大数据部门, 让他们搞去 开始记录ip ,然后

关于redis缓存的日常操作

大致讲一下 缓存雪崩, 缓存穿透, 缓存击穿 的场景以及常规解决手段 缓存雪崩 场景: 在服务高峰期时出现大面积缓存过期的情况, 导致数据库请求被打满甚至

[转] golang fmt格式“占位符”

golang fmt占位符的备注: 1 2 3 4 5 6 7 普通占位符 占位符 说明 举例 输出 %v 相应值的默认格式。 Printf("%v", people) {zhangsan}, %+v 打印结构体时,会添加字段名 Printf("%+v",

Golang 使用 defer 的场景

defer特性 defer 是在 return 之后执行标记代码行, 直观一点就是函数从上往下一行行执行代码, 遇到defer跳过, return之后, 再从下往上依次执行r

elasticSearch 随笔

关于es的一些笔记 安装 1 2 3 git clone https://github.com/deviantony/docker-elk.git cd docker-elk docker-compose up 遇到过的问题 unable to authenticate user 终端访问: 1 curl -XGET 'localhost:9200/_cat/health?v&pretty' 如果出现: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 { "error": { "root_cause": [ {

go 打包文件压缩

golang文件打包后默认体积还是不小, 通过参数以及三方工具可以缓解一下 命令行参数 -ldflags 在程序编译的时候可以加上-ldflags “-s -w” 参数来优化编