redis
慢查询
- 设置的是微秒 1毫秒等于1000微秒
slowlog-log-slower-than 20000
slowlog-max-len 1024
- 获取慢查询日志
slowlog get 66
- 查询慢查询日志列表的长度
slowlog len
慢查询日志重置
slowlog reset
线上建议跳大慢查询列表,记录慢查询时redis会对长命令做截取操作,并不会占用大量内存。
增大慢查询列表可以减缓查询被剔除的可能,例如可以设置为1000以上
shell
-r repeat 将命令执行多次
redis-cli -r 3 ping
-i interval 选项代表每隔几秒执行一次(秒)
redis-cli -r 5 -i 1 ping
-a 密码
网络延迟 --latency
redis -cli -h 127.0.0.1 --latency
redis -cli -h 127.0.0.1 --latency-history
统计信息
redis -cli --stat
原始格式返回 raw, --no-raw
redis -cli --raw get hello
你好
基准性能测试,代表100个客户端,一个请求20 000 次
redis-benchmark -c 100 -n 20000
插入随机数据
-r 表示只对后四位做随机处理
redis-benchmark -c 100 -n 20000 -r 10000
redis 的客户端和服务端可能部署在不同机器上,光在真空中传输速度为每秒30万公里,
这里假设光钎为光速度的2/3,那么客户端在1秒内大约只能执行80次作用的命令
Pipeline 机制
Pipeline 机制能改善上面这类问题,它将一组命令进行组装,通过一次RTT传输给redis,再将这组redis命令的执行结果按顺序返回给客户端
RTT 往返时间(round trip time)
pipeline 是非原子的,原生批量命令是原子的
pipeline支持多个命令,原生批量命令是一个命令对应多个key
pipeline需要服务端和客户端共同实现,原生批量命令是redis服务端支持实现的
事务
multi 代表事务开始,exec 代表命令结束,discard 结束事务
使用nc连接redis
nc ip 端口