包含标签 golang 的文章

Go语言中time时间的处理

简介

编程过程中,一般都会设置到时间的处理。在Go语言中,需要用到time这个包来处理

获取当前时间

默认打印出当前机器上的时间和时区。

package main

import (
	"fmt"
	"time"
)

func main() {
	fmt.Println(time.Now())
}
……

阅读全文

Go语言命令行参数解析 - flag

简介

在Go程序编译好就是一个二进制文件,我们希望通过不同的参数来执行不同的操作,官方就提供了一个flag包,来实现这个功能。

流程

定义变量,注册falg -> flag.Parse 解析,并赋值变量 -> 就可以通过变量值判断执行对应的操作
……

阅读全文

Go自动切换工作目录

简介

在 Go 程序执行的时候,有些配置是相对路径的,需要到指定的目录执行才能找到对应的配置文件。这时候就需要程序自动切换工作目录。

……

阅读全文

redis - 查找大key

前言

redis 是单线程运行,如果 key 过大,会对整个 redis 相应时间对造成影响。

查找大 key

1、通过 rdb 文件分析,在 github 上有一个分析 rdb 文件的开源软件 rdr,Go 语言写的,通过这个离线分析可以减少对生产环境造成影响。(推荐)

2、redis-cli 原生自带的–bigkeys 的查找大 key 的分析,可以找到某个实例 5 种数据类型(String、hash、list、set、zset)的最大 key。

3、redis-cli 命令有一个 debug object 的命令,可以获取 key 在内存中序列化后的大小,可以通过 scan 方法查找 key,然后 debug object 分析 key。不推荐这个,如果 key 很多,要统计很久。

……

阅读全文