Redis提供redis-cli,redis-server,redis-benchmark等Shell工具。
redis-cli
redis-cli -r 3 ping // -r是repeat的意思,将重复3次ping redis-cli -r 5 -i 1 ping // -i是interval,每隔几秒执行一次,必须和 -r 一起使用 echo "world" | redis-cli -x set hello // -x是标准stdin,读取数据作为该命令的最后一个参数 // 例中会将world作为hello的值 -c // cluster,可以防止moved和ask异常 -a // auth,如配置了密码,可用a选项 --scan,--pattern // 用于扫描指定模式的键,相当于 scan 命令 --slave // 当前客户端模拟成当前redis节点的从节点,可用来获取当前redis节点的更新操作 --rdb // 会请求redis实例生成并发送RDB持久化文件,保存在本地。可做定期备份 --pipe // 将命令封装成redis通信协议定义的数据格式,批量发送给redis执行 --bigkeys // 统计bigkey的分布,使用scan命令对redis的键进行采样,从中找到内存占用比较大的键,这些键可能是系统的瓶颈 --eval // 用于执行lua脚本 --latency // 有三个选项,--latency、--latency-history、--latency-dist。可检测网络延迟,展现的形式不同 --stat // 可实时获取redis的重要统计信息。info命令虽然比较全,但这里可看到一些增加的数据,如requests每秒请求数 --raw,--no-raw // --no-raw要求返回原始格式。--raw相反
redis-server
redis-server --test-menory 1024 // 测试是否能分配1G内存给Redis,该功能可以测试一些极端条件
redis-benchmark
redis-benchmark可以为Redis做一些基准性能测试。
redis-benchmark -c 100 -n 20000 // -c表示客户端并发数量,-n表示客户端请求总数量 // 例子在测试100个客户端同时发出请求,一共执行20000次,Redis会模拟给出测试数据 redis-benchmark -c 100 -n 20000 -q // -q表示仅显示requests per second信息 redis-benchmark -t get,set -q // -t对指定命令进行基准测试 redis-benchmark -t get,set --csv // --csv将结果导出到CSV文件 -k <boolean> // 表示客户端是否使用keepalive,1为使用(默认),0为不使用 -p // 每个请求pipeline的数据量