Redis运维之shell的使用――统计内存、定期备份、基准测试


本文摘自PHP中文网,作者齐天大圣,侵删。

使用Redis shell可以完成许多有意思的操作,使用也非常的简单,下面开始介绍。

Redis-cli

redis-cli的选项非常多,除了常用的-h、-p、-a外,下面在介绍几个很常用的选项。想查看所有选项的话可以使用redis-cli --help查看。

--version查看redis版本

1

2

# redis-cli --version

redis-cli 5.0.5

可以看到我当前的版本是5.0.5

-r,-i

r是repeat的缩写,表示重复几次的意思。i是interval的缩写,表示间隔多久(单位为妙)。

比如执行ping命令,共执行3次,每隔一秒执行一次。

1

# redis-cli -r 3 -i 1 ping

另外我们再介绍一个redis的api info memory,它是用来统计redis内存使用情况的。

1

2

3

4

5

6

7

# 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次。

1

2

3

4

5

6

7

8

9

10

11

#!/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是数字类型的。脚本的执行结果如下:

1

2

3

4

5

6

7

8

# ./bin/redis-used-memory.sh

883480

883504

883504

883504

883504

883504

avg:883500

分别输出6个请求的数据,最后再打印出平均值。

--rdb 保存rdb文件到本地

有个该选项,再配合定时任务,我们就可以定期备份Redis数据。

1

2

3

# 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.

1

# redis-benchmark -c 100 -n 10000

-q

只显示每秒的请求数据

1

2

3

4

5

6

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的性能如何:

1

2

3

# redis-benchmark -t get,set -q

SET: 98911.96 requests per second

GET: 100200.40 requests per second

以上就是redis-cli和redis-benchmark的基本使用,想要维护redis,这两个工具必须要掌握好的哦。

以上就是Redis运维之shell的使用――统计内存、定期备份、基准测试的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

Redis节点是什么

Redis英语怎么读

Redis数据库免费么?

Redis集合的相关命令有哪些

Redis整数集不能降级?为什么?

Redis源码是什么语言

Redis性能监控指标总结

Redis是单线程还是多线程,为什么

Redis主从复制什么时候复制

Redis默认过期时间是多少

更多相关阅读请进入《Redis》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...