博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis数据备份与恢复
阅读量:7076 次
发布时间:2019-06-28

本文共 914 字,大约阅读时间需要 3 分钟。

hot3.png

Redis提供了两种持久化选项,分别是和。

默认情况下60秒刷新到disk一次[save 60 10000 当有1w条keys数据被改变时],Redis的数据集保存在叫dump.rdb一个二进制文件,这种策略被称为快照。

也可以手动调用Save或BGSAVE命令的:

1
/usr
/local
/bin
/redis-cli 
-h 127.0.0.1 
-p 
6379 
-a 
pwd bgsave

快照易恢复,文件也小,但是如果遇到宕机等情况的时候快照的数据可能会不完整。此时可能需要启用另一种持久化方式AOF,在配置文件中打开[appendonly yes]。

AOF刷新日志到disk的规则:

appendfsync always #always 表示每次有写操作都进行同步,非常慢,非常安全。
appendfsync everysec #everysec表示对写操作进行累积,每秒同步一次
官方的建议的everysec,安全,就是速度不够快,如果是机器出现问题可能会丢失1秒的数据。

也可以手动执行bgrewriteaof进行AOF备份:

1
/usr
/local
/bin
/redis-cli 
-h 127.0.0.1 
-p 
6379 
-a 
pwd bgrewriteaof

我们现在的做法是一主(Master)多从(Slave)只做了读写分离,Master负责写入和AOF持久化,Slave负责读取。每天通过Slave做RDB备份[官方给的建议是每小时备份RDB文件,看你的策略和业务类型了],并且会用脚本将相应的备份文件推送到备份服务器。

当redis服务器挂掉时,重启时将按照以下优先级恢复数据到内存:

  • 如果只配置AOF,重启时加载AOF文件恢复数据;
  • 如果同时 配置了RBD和AOF,启动是只加载AOF文件恢复数据;
  • 如果只配置RBD,启动是讲加载dump文件恢复数据。

恢复时需要注意,要是主库挂了不能直接重启主库,否则会直接覆盖掉从库的AOF文件,一定要确保要恢复的文件都正确才能启动,否则会冲掉原来的文件。

转载于:https://my.oschina.net/u/699015/blog/178347

你可能感兴趣的文章
Java线程挂起
查看>>
PHP二维关联数组的遍历方式
查看>>
XML的特殊符号
查看>>
iOS证书(.p12)和描述文件(.mobileprovision)申请
查看>>
我的友情链接
查看>>
聊聊 Redis 使用场景
查看>>
组策略应用——限制计算机接入
查看>>
Linux基础命令:文本处理工具之join , paste
查看>>
我的友情链接
查看>>
求上限值的整数勾股数
查看>>
DOM2和DOM3
查看>>
java序列化Serializable
查看>>
hibernate主键为字符串的注解
查看>>
在共享文件夹中解压到linux其他目录中,千万注意软连接的问题
查看>>
Linux LVM 之LV
查看>>
tableView选择多项或单选
查看>>
定位Section的FooterView
查看>>
环境搭建中项目源码地址(零)
查看>>
利用sql语句复制一条或多条记录
查看>>
LDR指令的应用
查看>>