Redis开发运维实践常见运维操作(三)

3.12 Redis-cli命令行其他操作

1. echo :在命令行打印一些内容

redis 127.0.0.1:6379> echo HongWan "HongWan"

2. quit :退出连接。

redis 127.0.0.1:6379> quit

3. -x选项从标准输入(stdin)读取最后一个参数。 比如从管道中读取输入:

echo -en "chen.qun" | redis-cli -x set name

4. -r -i

-r 选项重复执行一个命令指定的次数。 -i 设置命令执行的间隔。 比如查看redis每秒执行的commands(qps) redis-cli -r 100 -i 1 info stats | grep instantaneous_ops_per_sec 这个选项在编写一些脚本时非常有用

5. -c:开启reidis cluster模式,连接redis cluster节点时候使用。

6. --rdb:获取指定redis实例的rdb文件,保存到本地。

redis-cli -h 192.168.44.16 -p 6379 --rdb 6379.rdb

7. --slave

模拟slave从master上接收到的commands。slave上接收到的commands都是update操作,记录数据的更新行为。

8. --pipe

这个一个非常有用的参数。发送原始的redis protocl格式数据到服务器端执行。比如下面的形式的数据(linux服务器上需要用unix2dos转化成dos文件)。 linux下默认的换行是\n,windows系统的换行符是\r\n,redis使用的是\r\n. echo -en '*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n' | redis-cli --pipe

9. -a

如果开启了requirepass,那么你如果希望调用或者自己编写一些外部脚本通过redis-cli进行操作或者监控redis,那么这个选项可以让你不用再手动输入auth。这个选项很普遍,但是往往被人忽视。

6.13 持久化与备份恢复

3.13.1 RDB相关操作

BGSAVE:后台子进程进行RDB持久化 SAVE:主进程进行RDB,生产环境千万别用,服务器将无法响应任何操作。 LASTSAVE: 返回上一次成功SAVE的Unix时间

动态关闭RDB:


动态设置RDB:


永久关闭RDB:


永久设置RDB:


查看RDB是否打开:


空的即是关闭,有数字的都是打开的。

3.13.2 AOF相关操作


在后台执行一个 AOF文件重写操作

动态关闭AOF:


动态打开AOF:


永久关闭AOF:


永久打开AOF:

将appendonly yes设置在redis.conf中

3.13.3 备份

对于RDB和AOF,都是直接拷贝文件即可,可以设定crontab进行定时备份: cp /var/lib/redis/dump.rdb /somewhere/safe/dump.$(date +%Y%m%d%H%M).rdb

3.13.4 恢复

如果只使用了RDB,则首先将redis-server停掉,删除dump.rdb,最后将备份的dump.rdb文件拷贝回data目录并修改相关属主保证其属主和redis-server启动用户一致,然后启动redis-server。

如果是RDB+AOF的持久化,只需要将aof文件放入data目录,启动redis-server,查看是否恢复,如无法恢复则应该将aof关闭后重启,redis就会从rdb进行恢复了,随后调用命令BGREWRITEAOF进行AOF文件写入,在info的aof_rewrite_in_progress为0后一个新的aof文件就生成了,此时再将配置文件的aof打开,再次重启redis-server就可以恢复了。注意先不要将dump.rdb放入data目录,否则会因为aof文件万一不可用,则rdb也不会被恢复进内存,此时如果有新的请求进来后则原先的rdb文件被重写。

如果只配置了AOF,重启时加载AOF文件恢复数据。

恢复速度参见新浪的测试结果:

Redis开发运维实践常见运维操作(三)

这个结果是可信的,在一台SSD、4个CPU的虚拟机上测试为28.3G/s.

检查修复AOF文件:

redis-check-aof data/appendonly.aof
Redis开发运维实践指南 本文为《Redis开发运维实践指南》内容,该书作者为黄鹏程,已授权云栖社区转载。 


 
上一篇:Redis开发运维实践高可用和集群架构与实践(二)


下一篇:Redis开发运维实践高可用和集群简述