重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇文章展示redis中shell常用的命令使用方法,命令示例简明扼要容易理解,如果在日常工作遇到这个疑问。希望大家通过这篇文章,找到解决疑问的办法。
为峰峰矿等地区用户提供了全套网页设计制作服务,及峰峰矿网站建设行业解决方案。主营业务为网站建设、成都网站制作、峰峰矿网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
Redis-cli
redis-cli的选项非常多,除了常用的-h、-p、-a外,下面在介绍几个很常用的选项。想查看所有选项的话可以使用redis-cli --help查看。
--version查看redis版本
# redis-cli --version redis-cli 5.0.5
可以看到我当前的版本是5.0.5
-r,-i
r是repeat的缩写,表示重复几次的意思。i是interval的缩写,表示间隔多久(单位为妙)。
比如执行ping命令,共执行3次,每隔一秒执行一次。
# redis-cli -r 3 -i 1 ping
另外我们再介绍一个redis的api info memory,它是用来统计redis内存使用情况的。
# redis-cli info memory # Memory used_memory:878984 used_memory_human:858.38K used_memory_rss:3796992 used_memory_rss_human:3.62M ……
统计redis内存信息
介绍了上面的知识后,再结合shell基础,就可以写出一个统计redis内存占用的脚本了。
shell脚本如下,每5秒获取内存信息,共取6次。
#!/bin/bash memorys=`redis-cli -r 6 -i 5 info memory | grep used_memory:\ | awk -F: '{print int($2)}'` total=0 for memory in $memorys do echo $memory total=$((memory+total)) done echo "avg:"$((total/6))
有一个地方需要注意,在awk那行,需要用int转换为数字类型,否则循环里面的递增将会出错,必须保证变量memory是数字类型的。脚本的执行结果如下:
# ./bin/redis-used-memory.sh 883480 883504 883504 883504 883504 883504 avg:883500
分别输出6个请求的数据,最后再打印出平均值。
--rdb 保存rdb文件到本地
有个该选项,再配合定时任务,我们就可以定期备份Redis数据。
# redis-cli --rdb /data/redis/rdb/dump.rdb SYNC sent to master, writing 721 bytes to '/data/redis/rdb/dump.rdb' Transfer finished with success.
如果redis含有重要数据的话,那么建议定时备份数据,防止数据丢失后损失太大。
Redis-benchmark
redis有专门做基准测试的工具,我们可以用它来测试redis的性能。下面介绍几个常用选项。如想知道更多的选项的用法,使用redis-benchmark --help查看更多信息
-c(clients)
表示客户端的并发数量,默认为50.
-n(requests)
表示客户端请求总量,默认值为100000。
例如,有100个客户端,总请求数为10000.
# redis-benchmark -c 100 -n 10000
-q
只显示每秒的请求数据
redis-benchmark -c 100 -n 10000 -q PING_INLINE: 98039.22 requests per second PING_BULK: 102040.82 requests per second SET: 94339.62 requests per second GET: 99009.90 requests per second ……
可以看到,每秒set、get等命令的性能。
-t
对指定的命令进行基准测试,比如我只想看get和set的性能如何:
# redis-benchmark -t get,set -q SET: 98911.96 requests per second GET: 100200.40 requests per second
以上就是Redis中shell常用的命令使用方法,内容较为全面,而且我也相信有相当的一些工具可能是我们日常工作可能会见到或用到的。通过这篇文章,希望你能收获更多。