千家信息网

Redis持久化RDB有什么用

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章给大家分享的是有关Redis持久化RDB有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Redis 持久化一 、RDB作用:在指定的时间间隔内将内存中的数据集
千家信息网最后更新 2025年12月02日Redis持久化RDB有什么用

这篇文章给大家分享的是有关Redis持久化RDB有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

Redis 持久化

一 、RDB

作用:在指定的时间间隔内将内存中的数据集快照写入磁盘,即Snapshot快照.它恢复时将快照文件直接读到内存中

原理:Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到
一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。
整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能
如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方
式要比AOF方式更加的高效。RDB的缺点是最后一次持久化后的数据可能丢失。

缺点:有可能丢失最后一次的保存

Fork: fork的作用是复制一个与当前进程一样的进程。新进程的所有数据(变量、环境变量、程序计数器等)数值都和原进程一致,但是是一个全新的进程,并作为原进程的子进程

文件:Rdb保存的是dump.rdb文件

配置:SNAPSHOTTING快照

格式:save -> save 秒钟 写操作次数

默认:默认触发条件

15分钟(900秒) 改1次

5分钟(300秒)改10次

1分钟(60 秒)改10000次

禁用:不设置 或者 save ""

二、案例

设置 save 120 10 (120秒改10次)

1.删除备份文件

[root@VM_0_7_centos ~]# cd /usr/local/bin[root@VM_0_7_centos bin]# lltotal 37820-rw-r--r-- 1 root root     231 Jun 19 18:35 dump.rdb-rwxr-xr-x 1 root root 4739968 Jun 12 23:09 redis-benchmark-rwxr-xr-x 1 root root 9634424 Jun 12 23:09 redis-check-aof-rwxr-xr-x 1 root root 9634424 Jun 12 23:09 redis-check-rdb-rwxr-xr-x 1 root root 5050384 Jun 12 23:09 redis-clilrwxrwxrwx 1 root root      12 Jun 12 23:09 redis-sentinel -> redis-server-rwxr-xr-x 1 root root 9634424 Jun 12 23:09 redis-server-rwxr-xr-x 1 root root    9840 Jun 12 22:55 tclsh8.6[root@VM_0_7_centos bin]# rm -f dump.drb

2.启动redis服务
3.设置值

127.0.0.1:9736> set k1 v1OK127.0.0.1:9736> set k2 v2OK127.0.0.1:9736> set k3 v3OK127.0.0.1:9736> set k4 v4OK127.0.0.1:9736> set k5 v5OK127.0.0.1:9736> set k6 v6OK127.0.0.1:9736> set k7 v7 OK127.0.0.1:9736> set k8 v8OK127.0.0.1:9736> set k9 v9OK127.0.0.1:9736> set k10 v10 OK127.0.0.1:9736> set k11 v11OK127.0.0.1:9736> set k12 v12OK127.0.0.1:9736> set k13 v13

4. 备份

[root@VM_0_7_centos bin]# cp dump.rdb dump-bk.rdb

[root@VM_0_7_centos bin]# lltotal 37824-rw-r--r-- 1 root root     275 Sep 23 10:48 dump-bk.rdb-rw-r--r-- 1 root root     275 Sep 23 10:43 dump.rdb-rwxr-xr-x 1 root root 4739968 Jun 12 23:09 redis-benchmark-rwxr-xr-x 1 root root 9634424 Jun 12 23:09 redis-check-aof-rwxr-xr-x 1 root root 9634424 Jun 12 23:09 redis-check-rdb-rwxr-xr-x 1 root root 5050384 Jun 12 23:09 redis-clilrwxrwxrwx 1 root root      12 Jun 12 23:09 redis-sentinel -> redis-server-rwxr-xr-x 1 root root 9634424 Jun 12 23:09 redis-server-rwxr-xr-x 1 root root    9840 Jun 12 22:55 tclsh8.6

5. 删除信息

127.0.0.1:9736> FLUSHALLOK127.0.0.1:9736> keys *(empty array)127.0.0.1:9736> SHUTDOWNnot connected> exit[root@VM_0_7_centos bin]#

6. 重连查看内容

127.0.0.1:9736> keys *(empty array)

注意:FLUSHALL SAVE 或 SHUTDOWN 会迅速将内存数据保存至dump.rdb

7. shutdown exit

8. 恢复备份的文件

[root@VM_0_7_centos bin]# rm -f dump.rdb[root@VM_0_7_centos bin]# cp dump-bk.rdb dump.rdb

9.查看恢复的信息

127.0.0.1:9736> keys * 1) "k1" 2) "k3" 3) "k4" 4) "user" 5) "k2" 6) "list01" 7) "k8" 8) "k10" 9) "k6"10) "k9"11) "k7"12) "list02"13) "k5"

10. 及时备份命令save

三、. 其他配置

stop-writes-on-bgsave-error yes: 保存出错时停止保存

如果配置为no 表示不在乎数据不一致或者有其他的手段发现和控制、

rdbcompression:对于存储到磁盘中的快照,可以设置是否进行压缩存储。如果是的话,redis会采用LZF算法进行压缩。如果你不想消耗CPU来进行压缩的话,可以设置为关闭此功能,默认yes 开启

rdbchecksum:在存储快照后,还可以让redis使用CRC64算法来进行数据校验,但是这样做会增加大约10%的性能消耗,如果希望获取到最大的性能提升,可以关闭此功能

dbfilename dump.rdb :备份文件名称

dir ./ : 指定本地数据库存放目录

四、关键

12. 如何触发RDB快照

12.1 配置文件中默认的快照配置,冷拷贝后重新使用,可以cp dump.rdb dump_new.rdb

12.2 命令save或者是bgsave,

Save:save时只管保存,其他不管,全部阻塞

BGSAVE:Redis会在后台异步进行快照操作,快照操作同时还可以响应客户端请求。可以通过lastsave命令获取最后一次成功执行快照的时间。

12.3 执行flushall命令,也会产生dump.rdb文件,但里面是空的,无意义。

13. 如何恢复

将备份文件(dump.rdb)移动到redis安装目录并启动服务即可,CONFIG GET dir获取目录

14.优势

适合大规模的数据恢复,对数据完整性和一致性要求不高

15.劣势

在一定间隔时间做一次备份,所以如果redis意外down掉的话,就会丢失最后一次快照后的所有修改,fork的时候,内存中的数据被克隆了一份,大致2倍的膨胀性需要考虑

16.如何停止

动态所有停止RDB保存规则的方法:redis-cli config set save ""

17.小总结

感谢各位的阅读!关于"Redis持久化RDB有什么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

数据 快照 文件 进程 备份 配置 内存 命令 一致 内容 性能 时间 目录 存储 作用 信息 功能 变量 大规模 完整性 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京奥咏网络技术有限公司 敏捷软件开发方法的出现 无线网络安全安全评估 数据库中怎么写一个触发器 软件开发和专利的区别 科技互联网分析 江苏有线网络技术岗工作内容 上海特种网络技术分类五星服务 数据库管理系统包含数据定义功能 路由器服务器无响应没有ip地址 查重数据库更新 服务器安全通信 网络安全主题表演 网络安全法规教育心得 net怎么连接不上数据库 数据库关系中笛卡尔积例题 计算机网络安全是指什么安全 影像软件开发面试常见问题 计算机网络技术wlan什么意思 网络安全管理员需要定岗吗 网络安全工作好找嘛 组态王数据库哪种好 人工智能数据库要求 长三角示范区网络安全小达人 四川品务网络技术有限公司 ie浏览器的代理服务器在哪设置 2015年网络安全会议 两个数据库用日期和名称筛选 网络安全授课新闻稿消防 电影院java数据库系统
0