| |
|
开发:
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知识系列-redis持久化 |
一.RDB(Redis DataBase) RDB的含义:在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存中。 Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能。如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方式要比AOF方式更加的高校。RDB的缺点是最后一次持久化的数据可能丢失。 二. AOF(Append Only File) 2.1 定义 以日志的形式来记录每一个写操作(增量保存),将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,Redis启动之初会读取该文件重新构建数据,换言之,Redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作。 2.2 AOF持久化流程 1)客户端的请求写命令会被append追加到AOF缓冲区内; 2)AOF缓冲区根据AOF持久化策略[always,everysec,no]将操作sync同步到磁盘的AOF文件中; 3)AOF文件大小超过重写策略或者手动重写时,会对AOF文件rewrite重写,压缩AOF文件容量; 4)Redis服务重启时,会重新load加载AOF文件中的写操作达到数据恢复的目的。 2.3 AOF日志默认不开启 可以在redis.conf中配置文件名称,默认为appendonly.aof,aof文件的保存路径,同RDB的路径一致。 2.4 AOF和RDB同时开启,写数据写到哪个文件下 AOF和RDB同时开启,系统默认取AOF的数据(数据不会存在丢失) 2.5 AOF启动/修复/恢复 1. 修改默认的appendonly no ,改为yes 2. 恢复:重启redis,然后重新加载 异常恢复: 1. 修改默认的appendonly no ,改为yes 2.如遇到AOF文件损坏,通过/usr/local/bin/redis-check-aof --fix appendonly.aof进行修复 3.备份被写坏的AOF文件 4. 恢复:重启redis,然后重新加载 2.6 AOF同步频率设置 1. appendfsync? ?always 始终同步,每次Redis的写入都会立刻记入日志;性能较差但数据完整性比较好。 2. appendfsync? ?everysec 每秒同步,每秒记入日志一次,如果宕机,本秒的数据可能丢失 3.?appendfsync? ?no redis不主动进行同步,把同步时机交给操作系统。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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:03:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |