Redis开发和运维相关shell命令总结

码字不易,转载请附原链,搬砖繁忙回复不及时见谅,技术交流请加QQ群:909211071

redis-cli

1、-r(repeat)选项代表将命令执行多次

$redis-cli -r 3 ping
PONG
PONG
PONG

2、-i(interval)选项代表每隔几秒执行一次命令,必须和-r选项同时使用

redis-cli -r 3 -i 1 info | grep used_memory_human
used_memory_human:1.00M
used_memory_human:1.00M
used_memory_human:1.00M

3、-x选项代表从标准输入读取数据作为redis-cli的最后一个参数

$echo "why" | redis-cli -x set hello
OK

$redis-cli  get hello
"why\n"

4、-c(cluster)用于连接Redis Cluster节点时使用

5、-a(auth) 输入密码

6、--scan和--pattern用于扫描匹配的键,相当于scan命令

7、--slava,把当前客户端模拟成当前Redis节点的从节点,可以用来获取当前Redis节点的更新操作,用于模拟主从

$redis-cli --slave
SYNC with master, discarding 409 bytes of bulk transfer...
SYNC done. Logging commands from master.

"PING"
"SELECT","0"
"set","why","why"
"PING"


"del","why"
"PING"
"PING"
"PING"
$redis-cli 
127.0.0.1:6379> set why why
OK
127.0.0.1:6379> del why
(integer) 1
127.0.0.1:6379> 

8、--rdb选项会请求redis实例生成并保存RDB持久化文件到本地,可以用它做持久化文件的定期备份。

9、--bigkeys选项使用scan命令对Redis的key进行采样,从中找到内存占用比较大的键值,有可能造成系统瓶颈

11、--evel选项用于执行指定Lua脚本

12、--latency、--latency-history、--latency-dist都可用于检测当前机器连接到目标机器Redis的网络延迟,-h后为目标机器

$redis-cli -h 127.0.0.1 --latency-history -i 1
min: 0, max: 1, avg: 0.22 (88 samples) -- 1.01 seconds range
min: 0, max: 1, avg: 0.33 (87 samples) -- 1.01 seconds range
min: 0, max: 1, avg: 0.26 (87 samples) -- 1.01 seconds range
min: 0, max: 1, avg: 0.31 (87 samples) -- 1.01 seconds range

13、--stat选项可以实时获取Redis的重要信息

$redis-cli --stat
------- data ------ --------------------- load -------------------- - child -
keys       mem      clients blocked requests            connections          
14         2.02M    2       0       2848 (+0)           17          
14         2.02M    2       0       2849 (+1)           17          
14         2.02M    2       0       2850 (+1)           17          
14         2.02M    2       0       2851 (+1)           17   

14、--raw要求命令返回格式化后的结果,如果不加参数,默认为--no-raw

$redis-cli get why
"\xe7\xa8\x8b\xe5\xba\x8f\xe7\x8c\xbf"

$redis-cli --raw get why
程序猿

 

redis-server

redis-server除了启动Redis外,还有一个--test-memary徐昂想,可以用来检测当前操作系统能否稳定地分配指定容量的内存给Redis,可以用来模拟内存条件做测试。

 

redis-benchmark

1、-c(clients)选项代表客户端的并发数量,默认为50

2、-n(num)选项代表客户端请求总量,默认为100000

$redis-benchmark -c 100 -n 20000 |  grep -A 9 GET 
====== GET ======
  20000 requests completed in 0.17 seconds
  100 parallel clients
  3 bytes payload
  keep alive: 1

99.51% <= 1 milliseconds
100.00% <= 1 milliseconds
116959.06 requests per second

上面为200个客户端同时用GET命令请求Redis,一共执行20000次,在0.17秒完成,每个请求数据量是3个字节,99.51%的命令执行时间小于1毫秒,Redis美妙可以处理116959.06次请求

3、-q选项仅仅显示requests per second信息

$redis-benchmark -c 100 -n 20000 -q 
PING_INLINE: 81632.65 requests per second
PING_BULK: 76628.35 requests per second
SET: 76923.08 requests per second
GET: 116959.06 requests per second
INCR: 116959.06 requests per second
LPUSH: 112994.35 requests per second
RPUSH: 121951.22 requests per second
LPOP: 107526.88 requests per second
RPOP: 115606.94 requests per second
SADD: 112994.35 requests per second
HSET: 118343.20 requests per second
SPOP: 116279.06 requests per second
LPUSH (needed to benchmark LRANGE): 119047.62 requests per second
LRANGE_100 (first 100 elements): 29411.76 requests per second
LRANGE_300 (first 300 elements): 11897.68 requests per second
LRANGE_500 (first 450 elements): 8237.23 requests per second
LRANGE_600 (first 600 elements): 6343.17 requests per second
MSET (10 keys): 70422.53 requests per second

4、-r(random)选项,会向Redis插入更多随机的键

5、-P选项代表每个请求pipeline的数据量,默认为1

6、-k选项代表客户端是否使用keepalive,1为使用,0为不使用,默认为1

7、-t选项可以对指定命令进行测试

$redis-benchmark -c 100 -n 20000 -t get,set -q
SET: 75757.58 requests per second
GET: 68259.38 requests per second

8、--csv选项会将结果按照csv格式输出,便于后续处理

$redis-benchmark -c 100 -n 20000 -t get,set -q --csv >> redis.csv
vim redis.csv
1 "SET","80000.00"
2 "GET","80321.29"

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AirGo.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值