redis中查找大key方法汇总: 什么是大key?顾名思义就是单个key中的数据比较大,通常来说,单个key的value值不会很大,这种情况下,key的读取,删除操作不会影响性能, 如果value过大,读取或删除会相对耗时,大家都知道,redis是单线程,耗时操作就会阻塞其它请求,给性能上带来一些影响。 1,自带命令redis-cli --bigkeys 该命令是redis自带,但是只能找出五种数据类型里最大的key。很明显,这并不能帮助我们去发现整个数据里的大key,所以一般不使用。 [root@centos7 bin]# ps -ef|grep redis root 20338 1 0 21:39 ? 00:00:01 ./redis-server *:6379 root 20353 15451 0 22:00 pts/0 00:00:00 grep --color=auto redis [root@centos7 bin]# [root@centos7 bin]# ./redis-cli -h 127.0.0.1 -p 6379 --bigkeys # Scanning the entire keyspace to find biggest keys as well as # average sizes per key type. You can use -i 0.1 to sleep 0.1 sec # per 100 SCAN commands (not usually needed). -------- summary ------- Sampled 0 keys in the keyspace! Total key length in bytes is 0 (avg len 0.00) 0 strings with 0 bytes (00.00% of keys, avg size 0.00) 0 lists with 0 items (00.00% of keys, avg size 0.00) 0 sets with 0 members (00.00% of keys, avg size 0.00) 0 hashs with 0 fields (00.00% of keys, avg size 0.00) 0 zsets with 0 members (00.00% of keys, avg size 0.00) [root@centos7 bin]# 2,redis 大key分析工具2 rdb_bigkeys [root@centos7 ~]# mkdir /home/gocode/ [root@centos7 ~]# export GOPATH=/home/gocode/ [root@centos7 ~]# git clone https://github.com/weiyanwei412/rdb_bigkeys.git [root@centos7 ~]# export GOBIN=$GOPATH/bin [root@centos7 ~]# export PATH=$PATH:$GOBIN [root@centos7 ~]# go env |egrep ‘GOPATH|GOROOT‘ GOPATH="/home/gocode/" GOROOT="/usr/lib/golang" [root@centos7 ~]# [root@centos7 ~]# cd rdb_bigkeys/ [root@centos7 rdb_bigkeys]# [root@centos7 rdb_bigkeys]# [root@centos7 rdb_bigkeys]# pwd /root/rdb_bigkeys [root@centos7 rdb_bigkeys]# [root@centos7 ~]# [root@centos7 rdb_bigkeys]# go get [root@centos7 rdb_bigkeys]# go build [root@centos7 rdb_bigkeys]# ll total 2424 -rw-r--r--. 1 root root 6467 Nov 24 23:50 comfuncs.go -rw-r--r--. 1 root root 35147 Nov 24 23:50 LICENSE -rw-r--r--. 1 root root 4030 Nov 24 23:50 memcallback.go drwxr-xr-x. 3 root root 17 Nov 24 23:50 misc -rwxr-xr-x. 1 root root 2422642 Nov 24 23:58 rdb_bigkeys -rw-r--r--. 1 root root 2193 Nov 24 23:50 rdb_bigkeys.go -rw-r--r--. 1 root root 960 Nov 24 23:50 README.md [root@centos7 rdb_bigkeys]# 使用很简单,全部就下面提到的5个参数: ./rdb_bigkeys --bytes 1024 --file bigkeys_6379.csv --sep 0 --sorted --threads 4 dump6379.rdb 上述命令分析dump6379.rdb文件中大于1024bytes的KEY, 由大到小排好序, 以CSV格式把结果输出到bigkeys_6379.csv的文件中
原文:https://www.cnblogs.com/k8s-pod/p/14033622.html