1. 程式人生 > 實用技巧 >從零搭建符合自己需求的開發環境

從零搭建符合自己需求的開發環境

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的檔案中