redis bigkey查找

线上监控显示,三主三从得redis中有一主一从的内存使用率明显高于其他机器,怀疑存在bigkey
步骤:

  1. 从库登录redis执行bgsave 可以通过ps -ef | grep bgsave 查看进程
  2. 压缩文件 zip /tmp/rdb.zip dump-6379.rdb
  3. 拷贝文件至测试机,原机器/data/python-3.5.2/bin/python3 -m http.server
  4. 测试机限速下载 wget --limit-rate=30m hostname:8000/rdb.zip
  5. 测试机解压文件 unzip rdb.zip(9.5G)
  6. 安装工具(安装后(容易被墙挡住,注意越过) 拷贝可执行文件)
    安装go:
    wget https://studygolang.com/dl/golang/go1.12.1.linux-amd64.tar.gz
    tar -zxvf go1.12.1.linux-amd64.tar.gz
    vim /etc/profile
    export GOROOT=/tmp/yl/go
    export GOPATH=/tmp/yl/gocode
    export PATH= P A T H : PATH: PATH:GOROOT/bin:$GOPATH/bin
    安装rdb_bigkeys
    cd gocode/
    yum -y install git
    git clone https://github.com/weiyanwei412/rdb_bigkeys.git
    mv rdb_bigkeys/ /tmp/yl/gocodesrc/
    cd rdb_bigkeys/
    go get
    go build
    将会生成可执行文件rdb_bigkeys

7.使用工具扫描rdb文件
./rdb_bigkeys --bytes 1024 --file /tmp/tmp/bigkeys.csv --sep 0 --sorted --threads 4 /tmp/tmp/dump-6379.rdb
显示:
database,type,key,size_in_bytes,num_elements,largest_element,largest_element_size_in_bytes,expire_datetime
0,hash,key_name1,5475219908,25708171,581227865354272768,282,

字节计算网址
https://calc.itzmx.com/
redis命令查询网址
https://www.redis.net.cn/tutorial/3509.html

其他rdb工具
pip install rdbtools
导出所有的key
rdb -c json dump-6389.rdb -f ./rdb.csv

你可能感兴趣的:(redis)