Redis 备份与恢复

本文介绍 Redis 持久化。

RDB

该方式为默认方式。

RDB 方式的持久化是通过快照(snapshotting)完成的,当符合一定条件时 Redis 会自动将内存中的所有数据进行快照并存储在硬盘上。进行快照的条件可以由用户在配置文件中自定义,由两个参数构成:时间改动的键的个数。当在指定的时间内被更改的键的个数大于指定的数值时就会进行快照。配置文件中已经预置了3个条件:

save 900 1    # 900秒内有至少1个键被更改则进行快照
save 300 10   # 300秒内有至少10个键被更改则进行快照
save 60 10000 # 60秒内有至少10000个键被更改则进行快照

可以存在多个条件,条件之间是「或」的关系,只要满足其中一个条件,就会进行快照。如果想要禁用自动快照,只需要将所有的 save 参数删除即可。

Redis 默认会将快照文件存储在当前目录(可以自定义,在客户端使用 CONFIG GET dir 查看)的 dump.rdb 文件(可以自定义,在客户端使用 CONFIG GET dbfilename 查看)中。

配置 dirdbfilename 两个参数可以分别指定快照文件的存储路径和文件名。

也可以手动执行 SAVE 命令

redis 127.0.0.1:6379> SAVE    # 该命令将在 redis 备份目录中创建dump.rdb文件。

AOF

append only file

appendonly yes
appendfilename appendonly.aof

# 当目前的AOF文件大小超过上一次重写时的AOF文件大小的百分之多少时会再次进行重写,如果之前没有重写过,则以启动时的AOF文件大小为依据

auto-aof-rewrite-percentage 100

auto-aof-rewrite-min-size 64mb   # 允许重写的最小AOF文件大小

# appendfsync always             # 每次执行写入都会执行同步,最安全也最慢
appendfsync everysec             # 每秒执行一次同步操作
# appendfsync no                 # 不主动进行同步操作,而是完全交由操作系统来做(即每30秒一次),最快也最不安全

Redis 允许同时开启 AOFRDB

复制

修改配置文件

slaveof master-ip master-port

启动参数

--slaveof master-ip master port

$ redis-server --port 6380 --slaveof 127.0.0.1 6379

命令

SLAVEOF master-ip master-port

redis>SLAVEOF 127.0.0.1 6379

SLAVEOF NO ONE 可以使当前数据库停止接收其他数据库的同步,转成主数据库

恢复

如果需要恢复数据,只需将备份文件 dump.rdbappendonly.aof 移动到启动配置文件中设置的 dir 目录并启动服务即可。

注意:

  • 当启动配置文件启用 appendonly 时,redis 默认寻找 appendonly.aof 恢复数据,如果没有 aof 文件,则 redis 数据为空。
  • 当需要使用 rdb 文件恢复数据时,启动配置文件需注释掉 #appendonly yes 参数。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏博客园

Redis事务

和其它数据库一样,Redis作为NoSQL数据库也同样提供了事务机制。在Redis中,MULIT,EXEC,DISCARD,WATCH这个四个命令是实现事务的基...

1892
来自专栏运维技术迷

Veeam Backup & Replication(三):创建备份与还原备份

一、创建备份和手动备份 1.创建备份 目标:为esxi服务器上的xp test虚拟机做备份 1.1 打开Veeam软件,选择Backup & Replic...

4864
来自专栏Vue ssr

vue+webpack 你可能遇到的几种proxy或agent使用代理问题

这了总结一下用vue+webpack开发中可能遇到的各种proxy问题。希望能帮助到各位有需要的人。

7792
来自专栏性能与架构

非常小巧的HTTP压力测试工具

如果你关心的性能指标主要是 QPS 每秒处理的请求数,那么 Benchttp 非常适合你 Benchttp 是一个超轻量级的压力测试工具,安装简单、用法类似 A...

4794
来自专栏技术之路

sql常用的系统存储过程

常用的系统存储过程 sp_databases 列出服务上的所有数据库 sp_helpdb 报告有关指定数据库或所有数据库的信息 sp_renamedb 更...

19110
来自专栏技术支持log

linux操作系统无损升级文件系统ext3至ext4--数据盘篇

linux操作系统无损升级文件系统ext3至ext4: 这里我们以CentOS7.0操作系统来作为示例升级数据盘文件系统: 附: linux操作系统无损升级...

3041
来自专栏程序员同行者

利用django-simple-captcha生成验证码

2464
来自专栏闵开慧

如何恢复hadoop中被删除的文件

    hadoop的hdfs中被删除文件的恢复原理和回收站原理是一样的,就是在删除hdfs文件时,被删除的文件被移动到了hdfs的.Trash文件夹中,恢复时...

3728
来自专栏Java技术栈

Redis 高可用特性之 “持久化” 详解

在之前的文章中,介绍了《Redis的内存模型》,从这篇文章开始,将依次介绍 Redis 高可用相关的知识——持久化、复制(及读写分离)、哨兵、以及集群。

732
来自专栏IT技术精选文摘

精讲Redis:持久化

从这篇文章开始,将依次介绍Redis高可用相关的知识——持久化、复制(及读写分离)、哨兵、以及集群。

1483

扫码关注云+社区

领取腾讯云代金券