0

0

redis数据持久化之RDB

齐天大圣

齐天大圣

发布时间:2020-05-22 08:12:43

|

1789人浏览过

|

来源于php中文网

原创

和memcache不同的是,redis能够让数据持久化到硬盘中。redis目前提供三种持久化方式,rdb、aof、rdb-aof混合持久化。数据的安全及备份是运维工作中的重点,下面来看看这rdb持久化的介绍及应用场景。

Redis默认使用的持久化方式是RDB,RDB文件占用空间很小,所以生成文件速度及加载都很快。

生成RDB文件

生成RDB文件分为手动方式以及自动方式

首先看手动方式,有两个命令可以触发生成RDB文件。save及bgsave,他们的区别是save操作会阻塞redis,直到RDB文件生成结束。而bgsave,则不会阻塞redis,它会fork出一个子进程,在子进程中完成rdb文件的生成。

自动方式则又有几种情况,分别如下:

  • 当前键的修改操作达到redis中Rdb的配置要求

  • 主从节点进行全量复制的时候

  • 重启或关闭redis的时候(Redis持久化方式为RDB)

这里,我们重点来看下rdb的相关配置。

rdb文件保存的目录是有dir配置项决定的

# rdb文件保存目录
dir "/usr/local/redis/var"

而文件名则是由dbfilename决定

dbfilename "dump.rdb"

触发机制则有save项决定

save 900 1
save 300 10
save 60 10000

上面的配置的含义是,当900秒内有1次修改操作就触发、当300秒内用10次修改操作就触发,当60秒内有10000次修改操作就触发。

另外rdbcompression配置项就决定是否压缩rdb文件,默认为yes,表示压缩,这也是推荐的方式。

iestore开源网上商店系统
iestore开源网上商店系统

IEStore是一款B2C独立网上商店系统,适合企业及个人快速构建个性化网上商店。系统是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序。IEStore网上商店系统不仅在产品功能、稳定性、安全性和SEO支持(搜索引擎优化)等方面具有在同类产品领先地位,重要的是在功能架构上、操作上符合国际化标准,成为国际化电子商务的最佳软件选择之一。功能概要国际化标准IEStore网上商店系统是一个带有多国

下载

RDB文件生成流程

QQ截图20200522074354.png

因为save几乎已经废弃,redis自动触发都是采用bgsave操作,所以这里只介绍bgsave的流程。

  1. 当执行bgsave时候,如果当前已有子进程的话,那么redis就会直接退出,不执行下面的操作。没有则往下执行。

  2. redis主进程会fork出一个子进程。fork的时候会阻塞redis,但时间非常短。

  3. fork成功后,redis主进程继续做自己该做的事。

  4. 子进程生成新的RDB文件,并替换旧的rdb文件。

  5. 当替换操作完成后,子进程会通知父进程,父进程就会保存此次操作的相关信息。

应用场景

RDB文件体积小,生成及加载快,但是rdb持久化方式不能做到实时持久化,异常情况下容易导致数据丢失。另外,不同版本的rdb文件可能存在不兼容的情况。

通过上面的介绍,可以知道,RDB文件非常适合做容灾备份,比如每天凌晨生成RDB文件。另外,如果redis里存放的数据不是太重要,比如使用redis做缓存,丢失部分数据没有影响的话,使用RDB通常是更佳的方式。

再介绍一个常见的问题的解决方法,redis数据存放的分区快要写满时,如何在不停止redis下将数据写到另一个分区中。我们可以使用config set dir '新分区目录' 修改rdb文件存放的目录。然后执行bgsave生成新的RDB文件到新的目录中。

相关专题

更多
php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

65

2025.12.31

php网站源码教程大全
php网站源码教程大全

本专题整合了php网站源码相关教程,阅读专题下面的文章了解更多详细内容。

43

2025.12.31

视频文件格式
视频文件格式

本专题整合了视频文件格式相关内容,阅读专题下面的文章了解更多详细内容。

35

2025.12.31

不受国内限制的浏览器大全
不受国内限制的浏览器大全

想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!

41

2025.12.31

出现404解决方法大全
出现404解决方法大全

本专题整合了404错误解决方法大全,阅读专题下面的文章了解更多详细内容。

204

2025.12.31

html5怎么播放视频
html5怎么播放视频

想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。

9

2025.12.31

关闭win10系统自动更新教程大全
关闭win10系统自动更新教程大全

本专题整合了关闭win10系统自动更新教程大全,阅读专题下面的文章了解更多详细内容。

8

2025.12.31

阻止电脑自动安装软件教程
阻止电脑自动安装软件教程

本专题整合了阻止电脑自动安装软件教程,阅读专题下面的文章了解更多详细教程。

3

2025.12.31

html5怎么使用
html5怎么使用

想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!

2

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
进程与SOCKET
进程与SOCKET

共6课时 | 0.3万人学习

Redis+MySQL数据库面试教程
Redis+MySQL数据库面试教程

共72课时 | 6.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号