我们在启动Redis服务时会用到redis-server Shell工具,在使用Redis客户端的时候会用到redis-cli Shell工具。实际上在Redis中除了提供了上述介绍的两个Shell工具外,还提供了redis-benchmark等Shell工具。在这一篇中我们将详细介绍一下Redis中有关Shell工具的内容。
redis-cli
我们知道redis-cli是连接Redis中客户端工具。我们在之前文章中已经介绍过了,那么redis-cli工具在使用时,有很多重要的可选参数,我们在之前没有介绍过,下面我们详细了解一下。
- -r: 该参数代表命令执行的次数,如果我们在使用redis-cli命令时,如果指定了-r参数,则输写的命令则会调用参数中的次数。
- -i: 该参数代表每隔几秒执行一次命令。-i参数必须和-r参数一直使用。
- 虽然上图中的输出与第一张图的输出一样,但是上图中的信息,不是一次返回的,而是有明显的时间间隔的,间隔的时间就是-i中指定的时间间隔,也就是1秒,而第一张图中的内容则是一次返回的。
- -x: 该参数代表从标准输入中读取数据并作为redis-cli中的最后一个参数。
- -c: 该参数是连接Redis Cluster节点时使用的,有关Redis集群相关的知识,我们在手续的文章中做做介绍,在这里我们只需要知道有-c参数即可。
- -a: 该参数的作用是如果Redis配置中设置了密码,则可以侃用-a参数这样就不用,每次执行命令时都输出auth命令了。
- --scan/--pattern: 该参数的作用是扫描指定模式的键,在这一点和scan命令一样。
- --slave: 该参数是把当前客户端模拟成当前Redis节点的从节点,这样就可以获取当前Redis节点的更新操作。这方面的知识我们将在后续的文章中在做详细介绍。
- --rdb: 该参数则会请求Redis生成RDB持久化文件并保存到本地。通过我们可以使用--参数做Redis的持久化备份。
- --pipe:该参数可以将命令封装成Redis通信协议,并且批量发送给Redis执行。
- --brigkeys:该参数的的作用是可以找到Redis中占用内存比较大的键值。
- --eval: 该参数可以指定运行Lua脚本,这方面的知识我们也将在后续的文章中介绍。
- --latency: 该参数的总共有3个选项,分别是--latency、--latency-history、latency-dist。它们的功能都一样,都是可以检测网络延迟的。下面我们将详细介绍一下它们之间的区别。
- --latency可以测试客户端到目标Redis的网络延迟。
- --latency-history则和--latency一样也是检测网络延时,不同的是--latency-history参数会每10秒输出一次网络延迟信息。
- --latency-dist该参数则会使用统计图表的方式输出网络延迟信息。
- --stat: 该参数可以实时获取Redis中的统计信息。
- --raw/--no-raw: --no-raw参数的作用是返回结果必须是原始格式,而--raw参数的作用则是返回的结果必须是格式化后的。
redis-server
redis-server除了可以启动Redis服务外,还有一个可选参数也就是--test-memory。该参数可以检查当前系统是否能够稳定的分配指定容量的内存给Redis。通过该参数可以很方便的检测出因为系统内存问题,而造成Redis的崩溃。
redis-benchmark
redis-benchmark工具我们比较陌生,因为我们之前没有介绍过,实际上redis-benchmark工具是做测试的,通过该工具,我们可以测试Redis中的相关性能。该工具的参数比较多,下面我们详细介绍一下。
- -c: 该参数代表客户端的并发数量(默认是50)。
- -n: 该参数代表客户端的请求总量(默认是100000)。
- -q: 参数显示redis-benchmark中的requests per second信息。
- -r: 在Redis中默认的键的个数为0。如果我们想向Redis中插入很多键时,则可以使用-r参数。该参数会随机向Redis中插入很多随机的键。
- -p: 该参数代表每个请求pipeline的数据量(默认为1)。
- -k: 该参数代表客户端是否使用keepalive,1为使用,0为不使用,默认为1。
- -t: 该参数可以对指定的命令进行测试。
- --csv: 该参数会将结果按照csv的格式输出。
上述内容就是本篇要介绍的Redis中Shell工具的所有内容,如有不正确的地方,欢迎留言。