| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 分布式缓存-Redis 持久化 -> 正文阅读 |
|
[大数据]分布式缓存-Redis 持久化 |
一、单点 Redis 的问题
解决方案: 二、RDB 持久化RDB 全称 Redis Database Backup file(Redis 数据备份文件),也被叫做 Redis 数据快照。简单来说,就是把内存中的所有数据都记录到磁盘中。当 Redis 实例故障后,从磁盘读取快照文件,恢复数据。 2.1.执行时机RDB持久化在四种情况下会执行:
1)save命令要想让 Redis 执行 RDB,可以使用 redis-cli 命令连接 Redis 客户端,然后执行 save 命令: 2)bgsave 命令一般推荐使用 bgsave,该命令会开启一个子进程,由子进程执行 RDB,主进程则不受影响,可继续执行其他命令。比较适合于在 Redis 运行过程中使用。 3)Redis 停机时一般 Redis 在停机时会自动执行一次 RDB。 4)触发 RDB 条件时Redis 内部有触发 RDB 的机制,可以在 redis.conf 文件中找到,格式如下: 2.2 RDB 的 fork 原理bgsave 开始时会 fork 主进程得到子进程,子进程共享主进程的内存数据。完成 fork 后读取内存数据并写入 RDB 文件。
当主进程需要写数据的时候,fork 首先会将共享内存标记为 read-only,并将需要操作的数据拷贝一份出来,对其进行写操作。 具体原理分析可以看下这篇文章:十三、Redis持久化之RDB原理 2.3 总结RDB 方式 bgsave 的基本流程?
RDB会在什么时候执行?save 60 1000 代表什么含义?
RDB 的缺点?
三、AOF 持久化3.1 AOF 原理AOF 全称为 Append Only File(追加文件)。Redis 处理的每一个命令都会记录在 AOF 文件中,可以看做是命令日志文件。 3.2 AOF 配置AOF 默认是关闭的,需要修改 redis.conf 配置文件来开启 AOF: 3.3 AOF 文件重写因为是记录命令,AOF 文件会比 RDB 文件大的多。而且 AOF 会记录对同一个 key 的多次写操作,但只有最后一次写操作才有意义。通过执行 bgrewriteaof 命令,可以让 AOF 文件执行重写功能,用最少的命令达到相同效果。 Redis 也会在触发阈值时自动去重写 AOF 文件。阈值也可以在 redis.conf 中配置: 四、RDB 与 AOF 对比RDB 和 AOF 各有自己的优缺点,如果对数据安全性要求较高,在实际开发中往往会结合两者来使用。两者同时使用时,在 Redis 重启后,会以 AOF 优先来做恢复。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 20:59:02- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |