| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Redis持久化(RDB、AOF) -> 正文阅读 |
|
[大数据]Redis持久化(RDB、AOF) |
? ? ? ? 持久化,就是把存储在内存中的数据,以文件的形式存储到磁盘上。Redis数据库作为内存数据,肯定要考虑到数据持久化的问题。 ? ? ? ? Redis提供了两种持久化的方案,一种是文件快照(RDB)方式;一种是过程日志(AOF),将每一步执行的操作保存下来。 ? ? ? ? 下面将讲述RDB和AOF两种持久化方案的执行方法,以及各自的优缺点。 ? ? ? ? 在将持久化内容之前,需要说明下备份文件的目录选择,目录需要有写权限,备份文件的目录可以在redis.conf配置文件中修改 一、RDB? ? ? ? RDB是以文件快照的方式存储数据,Redis提供了两个命令可以执行RDB方式的数据持久化,save命令和bgsave命令。 1.1 save命令? ? ? ? ?使用save命令,就可以实现RDB的操作,在redis客户端执行。 ? ? ? ? 在指定的保存目录下,如上面截图,/home/redis/,会有备份的文件 ?1.2?bgsave命令? ? ? ? save命令有其致命的缺陷:由于redis是单线程的,save命令的执行会阻塞当前redis的服务器,如果save命令执行时间比较长,后面的命令都需要等待,所以线上环境不建议使用save命令。取而代之的是bgsave命令。 ? ? ? ? bgsave命令,也是保存数据到磁盘的操作,但不是立即执行,而是另启动一个线程来执行。 ? ? ? ? 当执行bgsave命令后,Redis会生成一个子线程去执行保存操作,Redis内部的所有RDB操作都是使用bgsave命令。 ? ? ? ? 最后简单介绍下RDB操作在配置文件redis.conf中相关的配置参数?
1.3 RDB的优缺点? ? ? ? 有点:
? ? ? ? 缺点:
二、AOF? ? ? ? AOF方式持久化数据,是以保存过程操作日志的方式保存每次的命令操作,保证数据持久化的实时性。 ? ? ? ? ?对于AOF何时将缓存中的命令操作放到硬盘文件,即上图第三步,AOF提供了三个策略:
2.1 开启AOF? ? ? ? 配置文件中appendonly属性修改为yes,默认为no ? ? ? ? 配置文件中可以看到AOF默认的同步磁盘文件,使用的everysec,每秒写一次缓存到文件。 ? 2.2 AOF重写?? ? ? ? 了解下概念就可以了,随着命令不断写入AOF,文件会越来越大,为了解决这个问题,Redis引入了AOF重写机制压缩文件体积。AOF文件重写是将Redis进程内的数据转化为写命令同步到新AOF文件的过程。简单说就是将对同一个数据的若干个条命令执行结果转化成最终结果数据对应的指令进行记录。 ? ? ? ? 重写的两种方式,手动重写和自动重写 ? ? ? ? 手动重写
? ? ? ? 自动重写,在配置文件中配置触发重写的条件。
2.3 AOF的优缺点? ? ? ? 优点:
? ? ? ? 缺点:
综述:redis默认的持久化方式是RDB方式。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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:45:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |