文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Redis 通过 RDB 方式进行数据备份与还原的方法

2024-04-02 19:55

关注

Intro

有的时候我们需要对 Redis 的数据进行迁移,今天介绍一下通过 RDB(快照)文件进行 Redis 数据的备份和还原

Redis 持久化

Redis 的数据持久化有两种机制,一种是 RDB(Redis Database),一种是 AOF(Append Only File)

Redis 提供了不同级别的持久化方式:

RDB的优点

RDB的缺点

AOF 优点

AOF 缺点

废话不多说直接看下面的示例吧,通过 docker 运行一个 redis 实例,并设置一些数据,然后导出 RDB 文件,再运行一个 redis 实例通过 RDB 文件还原数据

备份

通过 docker run -d --name redis-test-1 redis:alpine 命令来创建一个 redis 实例,接着 SET 一个 key 保存到我们的 redis,使用命令 SET hello world 写入测试数据,你也可以写入别的自己想写的数据,接着可以使用 keys * 来验证数据是否写入成功

测试数据写入成功后使用 SAVE 命令来创建 RDB 文件,命令执行成功后我们可以在 /data 目录下看到会有一个 dump.rdb 文件,这就是我们想要的 RDB 文件,通过 docker cp 命令可以把这个文件拷贝到 host 目录下

还原

通过上面 RDB 文件我们可以在 redis 启动的时候还原 RDB 文件中的数据,只需要在 Redis 启动前把 RDB 文件放在 redis 的 data 目录下就可以了。

执行 docker run --rm --name redis-test-2 -v ${pwd}/data:/data redis:alpine

这个命令我是在 powershell 上执行的,如果执行在 Linux 上执行需要把 ${pwd} 换成 $(pwd) 来表示当前目录

可以看到上面的日志里有 Loading RDB ... 就是在加载 RDB 文件中的数据

我们再来验证一下 RDB 文件里的数据是否真的加载到了新的 redis 实例中,先来验证一下 data 目录是否正常挂载了,执行 docker exec -it redis-test-2 sh 来进入到 redis 实例容器中,ls 查看 data 目录中的文件看是否有我们期望的 RDB 文件,接着进入 redis-cli 来验证数据是否存在

使用 keys * 来列出来所有的 key 信息,可以看到有我们在上一个 redis 里写入的测试数据了,再来使用 GET hello 来验证数据是否正确,至此我们的数据就还原到新的 redis 实例中了~~

More

当 Redis 需要保存 dump.rdb 文件时, 服务器执行以下操作:

这种工作方式使得 Redis 可以从写时复制(copy-on-write)机制中获益。

如果 redis 被访问的比较频繁,可以使用 BGSAVE 代替 SAVE 来异步创建 RDB 备份

如果 redis 不是使用 docker 来使用的,/data 目录可以在 redis-cli 中使用 CONFIG GET dir 来获取保存 rdb 文件的目录,默认保存的 RDB 文件名称是 dump.rdb,如果有修改过,可以通过 CONFIG GET dbfilename 来获取当前使用的文件名

References

https://redis.io/topics/persistence

http://redis.cn/topics/persistence.html

到此这篇关于Redis 通过 RDB 方式进行数据备份与还原的文章就介绍到这了,更多相关Redis数据备份与还原内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯