背景

公司内部在进行性能调优, 调优有多个方法.
应用Redis方面主要的调优有:
1. 进行redis键值对大小的处理.
2. 进行redis键值对过期时间的处理.
3. 减少连接数,减少网络带宽.
4. 优化方法.尽量使用O(1)命令代替复杂命令.
5. 严格禁止使用复杂指令,比如flushall,keys 等命令.
感觉还有一个比较大的方向是:
验证具体功能 使用的redis 次数,命令类型. 涉及的键值对等.

研发层次的方法

最简单的办法,还是在Redis被调用时由研发进行日志记录. 
只需要记录.上下文里面的功能 然后记录 redis的命令 和参数就可以了

可以单独记录到其他地方. 可以保存为一个 文本文件便于后续分析
缺点: 影响功能. 担心有遗漏.
有点: 业务使用者几乎无损无感觉

基于Redis命令的处理

还有一种简单办法.可以使用redis-cli的命令进行监控.
比如我写一个命令:
redis-cli -h 10.110.80.116 -a Testxxxxxxxx -p 6379 monitor
可以保存为 一个命令 比如 monitor.bat
需要注意, 还需要将 redis-cli.exe 放到 c:\windows\system32\ 的路径下

然后最简单的方法
在monitor 所在的目录执行 monitor.sh > 凭证制单.txt
在打开功能之前执行这个命令.
然后 在打开完成使用完成之后control C 关闭这个monitor
这样的话 就可以完整监控到.
需要注意每次可能需要根据不通的功能进行处理.

效果为

1673012799.481448 [0 127.0.0.1:12361] "SETEX" 
"\xac\xed\x00\x05t\x005caf:bzctx:s:size:5ad2ed7e-8dcd-4238-a5c7-bf399baeed8a" "172800"
"\xac\xed\x00\x05sr\x00\x11java.lang.Integer\x12\xe2\xa0\xa4\xf7\x81\x878\x02\x00\x01I\x00\x05valuexr\x00\x10java.lang.
Number\x86\xac\x95\x1d\x0b\x94\xe0\x8b\x02\x00\x00xp\x00\x00\x00\x01"

1673012799.483396 [0 127.0.0.1:12355] "HMSET" "caf-session:sessions:5ad2ed7e-8dcd-4238-a5c7-bf399baeed8a" "lastAccessedTime"
"\xac\xed\x00\x05sr\x00\x0ejava.lang.Long;
\x8b\xe4\x90\xcc\x8f#\xdf\x02\x00\x01J\x00\x05valuexr\x00\x10java.lang.
Number\x86\xac\x95\x1d\x0b\x94\xe0\x8b\x02\x00\x00xp\x00\x00\x01\x85\x87Ug\xa5"

1673012799.483735 [0 127.0.0.1:12357] "SADD"
"caf-session:expirations:1673014620000" "\xac\xed\x00\x05t\x00,
expires:5ad2ed7e-8dcd-4238-a5c7-bf399baeed8a"

1673012799.484058 [0 127.0.0.1:12323] "PEXPIRE"
"caf-session:expirations:1673014620000" "2100000"

1673012799.485237 [0 127.0.0.1:12319] "HGETALL"
"caf-session:sessions:5ad2ed7e-8dcd-4238-a5c7-bf399baeed8a"

1673012799.486898 [0 127.0.0.1:12345] "HGETALL"
"caf-session:sessions:5ad2ed7e-8dcd-4238-a5c7-bf399baeed8a"