RDB、AOF

RDB、AOF

RDB

1、redis.conf中的配置

dbfilename dump.rdb

dir “/usr/local/redis/data/”

2、save

save 900 1 # 在900s内如果有1条数据被写入,则产生一次快照。

save 300 10 # 在300s内如果有10条数据被写入,则产生一次快照

save 60 10000 # 在60s内如果有10000条数据被写入,则产生一次快照

stop-writes-on-bgsave-error yes # 如果为yes则表示,当备份进程出错的时候,主进程就停止进行接受新的写入操作,这样是为了保护持久化的数据一致性的问题。

3、修改好的保存并重启 redis 服务,然后打开客户端,执行如下命令:

127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> set k2 v2
OK
127.0.0.1:6379> set k3 v3
OK

4、然后查看 dump.rdb 文件的大小,就可以发现文件快照已经产生了。

5、备份

清空数据

127.0.0.1:6379> flushdb

添加数据

127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> set k2 v2
OK
127.0.0.1:6379> set k3 v3
OK
127.0.0.1:6379> set k4 v4
OK
127.0.0.1:6379> set k5 v5
OK
127.0.0.1:6379> set k6 v6
OK

备份 dump.rdb

cp dump.rdb dump.rdb.back

把 Redis 服务关闭

redis-cli shutdown

把 dump.rdb 文件删除

rm -f dump.rdb

6、恢复

首先执行如下命令来把 dump.rdb.back 文件修改为 dump.rdb

mv dump.rdb.back dump.rdb

重启 Redis 服务

redis-server /etc/redis.conf

连接客户端后再执行如下命令

127.0.0.1:6379> keys *
1) "k1"
2) "k2"
3) "k3"

AOF

1、修改 redis.conf 配置

通过修改redis.conf配置中appendonly yes来开启AOF持久化

通过appendfilename指定日志文件名字(默认为appendonly.aof)

通过appendfsync指定日志记录频率

2、配置好后,停止 Redis 服务,然后再重新开启 Redis 服务后,就可以在 RDB 生成的同目录下(/usr/local/redis/data)会生成一个 appendonly.aof 文件

3、使用客户端连接 Redis 服务

127.0.0.1:6379> keys *
(empty array)

4、备份

首先添加数据

127.0.0.1:6379> set k11 v11
OK
127.0.0.1:6379> set k12 v12
OK
127.0.0.1:6379> set k13 v13
OK

然后停止 Redis 服务,并重命名文件

redis-cli shutdown
mv appendonly.aof appendonly.aof.back

5、恢复

重新把 aof 文件改名回来,再重启 Redis 服务,连接客户端

127.0.0.1:6379> keys *
1) "k11"
2) "k12"
3) "k13"

6、异常恢复

我们人为的在 appendonly.aof 中添加一点内容

vim appendonly.aof
# 在文件最后添加
redis-aof

保存退出后关闭 Redis 服务后再重启 Redis 服务,并用客户端进行连接。这时会发现连接出错

redis-cli
Could not connect to Redis at 127.0.0.1:6379:Connection refused.

这时我们需要对 appendonly.aof 文件进行修复

redis-check-aof --fix appendonly.aof

在提示中输入 y 即可。修复后再次重启 Redis 服务,并连接客户端就可以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值