Redis Shell

20 5月

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的数据量

发表评论

电子邮件地址不会被公开。 必填项已用*标注