






rma4go (redis memory analyzer for golang) is a online redis memory analyzer.It's light and easy to use, and prints out a pretty markdown table
rma4go provide statistics for redis in many dimensions, the mainly supported dimensions are listed below
- key size, data size statistics
- key expire statistics
- big key statistics
- different types of key statistics
go get github.com/winjeg/rma4go
functestFunc() {h:="localhost"a:=""p:=6379cli:=client.BuildRedisClient(client.ConnInfo{Host:h,Auth:a,Port:p,},cmder.GetDb())stat:=analyzer.ScanAllKeys(cli)// print in command linestat.Print()// the object is ready to use}before build
- make sure your go version >= 1.11.0
- make sure you have internet access and can access google.com
git clone git@github.com:winjeg/rma4go.gitcd rma4gogo build.
usage is quite simple, it prints out a table in command line in markdown format
rma4go usage:standalone: rma4go -r some_host -p 6379 -a password -d 0cluster: rma4go -c "localhost:123,localhost:124,localhost:1234" -a "password"====================================================== -h help content -H string address of a redis (default "localhost") -a string password/auth of the redis -d int db of the redis to analyze -p int port of the redis (default 6379) -r string address of a redis (default "localhost") -m match a pattern to scan
rendered by markdowntotal count 4004
all keys statistics
| PATTERN | KEY NUM | KEY SIZE | DATA SIZE | EXPIRE IN HOUR | EXPIRE IN DAY | EXPIRE IN WEEK | EXPIRE OUT WEEK | NEVER EXPIRE |
|---|
| TOP_TEN_NEW_XXXXXXXX* | 1 | 20 | 1529 | 0 | 0 | 0 | 0 | 1 |
| XXXXXXXXXXXXXX_STATISTICS_MIGRATION_LIST* | 1 | 40 | 7692832 | 0 | 0 | 0 | 0 | 1 |
| time-root:* | 23 | 272 | 299 | 0 | 0 | 0 | 0 | 23 |
| DS_AXXXXXXXX_CORRECT* | 2 | 45 | 46 | 0 | 0 | 0 | 0 | 2 |
| time-2* | 761 | 7528 | 9893 | 0 | 0 | 0 | 0 | 761 |
| time-level:* | 537 | 8461 | 6981 | 0 | 0 | 0 | 0 | 537 |
| time-9* | 102 | 901 | 1326 | 0 | 0 | 0 | 0 | 102 |
| time-7* | 153 | 1372 | 1989 | 0 | 0 | 0 | 0 | 153 |
| DS_MAGIC_SUCC_2017-06-22* | 1 | 24 | 415 | 0 | 0 | 0 | 0 | 1 |
| tersssss* | 5 | 124 | 0 | 0 | 0 | 0 | 0 | 5 |
| appoint_abcdefg_msgid* | 1 | 21 | 0 | 0 | 0 | 0 | 0 | 1 |
| BUSSINESSXXXXXXX_STATISTICS_NEED_CALC_RECENT* | 1 | 44 | 1 | 0 | 0 | 0 | 0 | 1 |
| switch_abcd_abcde* | 3 | 69 | 3 | 0 | 0 | 0 | 0 | 3 |
| abcdeferCounter_201* | 3 | 78 | 0 | 0 | 0 | 0 | 0 | 3 |
| diy1234567flag* | 1 | 14 | 1 | 0 | 0 | 0 | 0 | 1 |
| DS_PRXXBCD_LIST* | 1 | 15 | 17208 | 0 | 0 | 0 | 0 | 1 |
| time-4* | 133 | 1194 | 1729 | 0 | 0 | 0 | 0 | 133 |
| datastatistics_switch_version0* | 1 | 30 | 1 | 0 | 0 | 0 | 0 | 1 |
| register_count_2_201* | 592 | 15984 | 640 | 0 | 0 | 0 | 0 | 592 |
| canVisitNewabcdef1234PageLevels* | 1 | 31 | 0 | 0 | 0 | 0 | 0 | 1 |
| YOUR_WEEK_VITALITY_INFO* | 1 | 23 | 75782 | 0 | 0 | 0 | 0 | 1 |
| time-8* | 101 | 894 | 1313 | 0 | 0 | 0 | 0 | 101 |
| EXPERTS_APPOINT_INFO_MAP* | 1 | 24 | 0 | 0 | 0 | 0 | 0 | 1 |
| time-3* | 130 | 1215 | 1690 | 0 | 0 | 0 | 0 | 130 |
| time-1* | 943 | 9456 | 12259 | 0 | 0 | 0 | 0 | 943 |
| time-64* | 87 | 781 | 1131 | 0 | 0 | 0 | 0 | 87 |
| time-5* | 168 | 1516 | 2184 | 0 | 0 | 0 | 0 | 168 |
| total | 4004 | 53422 | 7832490 | 0 | 0 | 0 | 0 | 4004 |
string keys statistics
| PATTERN | KEY NUM | KEY SIZE | DATA SIZE | EXPIRE IN HOUR | EXPIRE IN DAY | EXPIRE IN WEEK | EXPIRE OUT WEEK | NEVER EXPIRE |
|---|
| BUSSINESSXXXXXXX_STATISTICS_NEED_CALC_RECENT* | 1 | 44 | 1 | 0 | 0 | 0 | 0 | 1 |
| time-5* | 130 | 1174 | 1690 | 0 | 0 | 0 | 0 | 130 |
| datastatistics_switch_version0* | 1 | 30 | 1 | 0 | 0 | 0 | 0 | 1 |
| time-7* | 39 | 348 | 507 | 0 | 0 | 0 | 0 | 39 |
| time-level:* | 567 | 8939 | 7371 | 0 | 0 | 0 | 0 | 567 |
| diy1234567flag* | 1 | 14 | 1 | 0 | 0 | 0 | 0 | 1 |
| switch_abcd_abcde* | 3 | 69 | 3 | 0 | 0 | 0 | 0 | 3 |
| time-2* | 598 | 5918 | 7774 | 0 | 0 | 0 | 0 | 598 |
| time-6* | 125 | 1118 | 1625 | 0 | 0 | 0 | 0 | 125 |
| time-4* | 136 | 1225 | 1768 | 0 | 0 | 0 | 0 | 136 |
| time-8* | 72 | 636 | 936 | 0 | 0 | 0 | 0 | 72 |
| time-1* | 1176 | 11814 | 15288 | 0 | 0 | 0 | 0 | 1176 |
| time-9* | 100 | 880 | 1300 | 0 | 0 | 0 | 0 | 100 |
| time-root:* | 23 | 272 | 299 | 0 | 0 | 0 | 0 | 23 |
| register_count_2_201* | 592 | 15984 | 640 | 0 | 0 | 0 | 0 | 592 |
| DS_AXXXXXXXX_CORRECT* | 1 | 20 | 20 | 0 | 0 | 0 | 0 | 1 |
| TOP_TEN_NEW_tersssss* | 1 | 20 | 1529 | 0 | 0 | 0 | 0 | 1 |
| time-3* | 202 | 1925 | 2626 | 0 | 0 | 0 | 0 | 202 |
| total | 3989 | 53042 | 46253 | 0 | 0 | 0 | 0 | 3989 |
list keys statistics
| PATTERN | KEY NUM | KEY SIZE | DATA SIZE | EXPIRE IN HOUR | EXPIRE IN DAY | EXPIRE IN WEEK | EXPIRE OUT WEEK | NEVER EXPIRE |
|---|
| XXXXXXXXXXXXXX_STATISTICS_MIGRATION_LIST* | 1 | 40 | 7692832 | 0 | 0 | 0 | 0 | 1 |
| DS_MAGIC_SUCC_2017-06-22* | 1 | 24 | 415 | 0 | 0 | 0 | 0 | 1 |
| DS_PRXXBCD_LIST* | 1 | 15 | 17208 | 0 | 0 | 0 | 0 | 1 |
| total | 3 | 79 | 7710455 | 0 | 0 | 0 | 0 | 3 |
hash keys statistics
| PATTERN | KEY NUM | KEY SIZE | DATA SIZE | EXPIRE IN HOUR | EXPIRE IN DAY | EXPIRE IN WEEK | EXPIRE OUT WEEK | NEVER EXPIRE |
|---|
| tersssss_action_prepage_new* | 1 | 27 | 0 | 0 | 0 | 0 | 0 | 1 |
| YOUR_WEEK_VITALITY_INFO* | 1 | 23 | 75782 | 0 | 0 | 0 | 0 | 1 |
| EXPERTS_APPOINT_INFO_MAP* | 1 | 24 | 0 | 0 | 0 | 0 | 0 | 1 |
| abcdeferCounter_2017-06-11* | 1 | 26 | 0 | 0 | 0 | 0 | 0 | 1 |
| tersssssHardTaskCounter* | 1 | 23 | 0 | 0 | 0 | 0 | 0 | 1 |
| abcdeferCounter_2018-04-27* | 1 | 26 | 0 | 0 | 0 | 0 | 0 | 1 |
| abcdeferCounter_2017-09-01* | 1 | 26 | 0 | 0 | 0 | 0 | 0 | 1 |
| tersssssEasyTaskCounter* | 1 | 23 | 0 | 0 | 0 | 0 | 0 | 1 |
| total | 8 | 198 | 75782 | 0 | 0 | 0 | 0 | 8 |
set keys statistics
| PATTERN | KEY NUM | KEY SIZE | DATA SIZE | EXPIRE IN HOUR | EXPIRE IN DAY | EXPIRE IN WEEK | EXPIRE OUT WEEK | NEVER EXPIRE |
|---|
| tersssss_bind_phone_phone* | 1 | 25 | 0 | 0 | 0 | 0 | 0 | 1 |
| appoint_abcdefg_msgid* | 1 | 21 | 0 | 0 | 0 | 0 | 0 | 1 |
| canVisitNewabcdef1234PageLevels* | 1 | 31 | 0 | 0 | 0 | 0 | 0 | 1 |
| tersssss_bind_phone_userid* | 1 | 26 | 0 | 0 | 0 | 0 | 0 | 1 |
| total | 4 | 103 | 0 | 0 | 0 | 0 | 0 | 4 |
zset keys statistics
| PATTERN | KEY NUM | KEY SIZE | DATA SIZE | EXPIRE IN HOUR | EXPIRE IN DAY | EXPIRE IN WEEK | EXPIRE OUT WEEK | NEVER EXPIRE |
|---|
| total | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| other keys statistics | | | | | | | | |
| PATTERN | KEY NUM | KEY SIZE | DATA SIZE | EXPIRE IN HOUR | EXPIRE IN DAY | EXPIRE IN WEEK | EXPIRE OUT WEEK | NEVER EXPIRE |
|---|
| total | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
big keys statistics
| PATTERN | KEY NUM | KEY SIZE | DATA SIZE | EXPIRE IN HOUR | EXPIRE IN DAY | EXPIRE IN WEEK | EXPIRE OUT WEEK | NEVER EXPIRE |
|---|
| XXXXXXXXXXXXXX_STATISTICS_MIGRATION_LIST* | 1 | 40 | 7692832 | 0 | 0 | 0 | 0 | 1 |
| total | 1 | 40 | 7692832 | 0 | 0 | 0 | 0 | 1 |
- welcome to contribute to this repo
- welcome to submit issues for this repo
- if you have any questions, feel free to ask