200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Redis开发和运维相关shell命令总结

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

时间:2023-03-21 13:35:13

相关推荐

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

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

redis-cli

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

$redis-cli -r 3 pingPONGPONGPONG

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

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

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

$echo "why" | redis-cli -x set helloOK$redis-cli get hello"why\n"

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

5、-a(auth) 输入密码

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

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

$redis-cli --slaveSYNC 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 whyOK127.0.0.1:6379> del why(integer) 1127.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 1min: 0, max: 1, avg: 0.22 (88 samples) -- 1.01 seconds rangemin: 0, max: 1, avg: 0.33 (87 samples) -- 1.01 seconds rangemin: 0, max: 1, avg: 0.26 (87 samples) -- 1.01 seconds rangemin: 0, max: 1, avg: 0.31 (87 samples) -- 1.01 seconds range

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

$redis-cli --stat------- data ------ --------------------- load -------------------- - child -keys memclients blocked requests connections14 2.02M 2 0 2848 (+0) 1714 2.02M 2 0 2849 (+1) 1714 2.02M 2 0 2850 (+1) 1714 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 seconds100 parallel clients3 bytes payloadkeep alive: 199.51% <= 1 milliseconds100.00% <= 1 milliseconds116959.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 secondPING_BULK: 76628.35 requests per secondSET: 76923.08 requests per secondGET: 116959.06 requests per secondINCR: 116959.06 requests per secondLPUSH: 112994.35 requests per secondRPUSH: 121951.22 requests per secondLPOP: 107526.88 requests per secondRPOP: 115606.94 requests per secondSADD: 112994.35 requests per secondHSET: 118343.20 requests per secondSPOP: 116279.06 requests per secondLPUSH (needed to benchmark LRANGE): 119047.62 requests per secondLRANGE_100 (first 100 elements): 29411.76 requests per secondLRANGE_300 (first 300 elements): 11897.68 requests per secondLRANGE_500 (first 450 elements): 8237.23 requests per secondLRANGE_600 (first 600 elements): 6343.17 requests per secondMSET (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 -qSET: 75757.58 requests per secondGET: 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"

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。