Redis持久化的简单介绍

Redis的强大功能很大程度上是由于其将所有数据都存储在内存中,为了使Redis在重启后仍能保证数据不丢失,需要将数据从内存中以某种形式持久化到硬盘中。

Redis支持两种方式的持久化,一种是RDB方式一种是AOF方式。其中,RDB是Redis的默认持久化方式

一、RDB方式

RDB方式是通过快照完成的,当符合一定条件时Redis会自动将内存中的所有数据进行快照并且存储到硬盘上。

1.RDB的快照同步原理:

1) Redis使用fork函数复制一份当前进程(父进程)的副本(子进程)
2) 父进程继续接收并处理客户端发来的命令,而子进程开始将内存中的数据写入到硬盘中的临时文件
3) 当子进程写入完所有数据后会用该临时文件替换旧的RDB文件

2.自动同步

进行快照的条件在配置文件中指定,有2个参数构成:时间和改动的键的个数,当在指定时间内被更改的键的个数大于指定数值时就会进行快照。

默认配置如下:

save 900 1  #900秒内如果超过1个key被修改,则发起快照保存
save 300 10 #300秒内容如超过10个key被修改,则发起快照保存
save 60 10000

默认的rdb的文件路径是在当前目录,文件名是:dump.rdb,可以在redis.conf配置文件中修改路径和文件名,分别是dir和dbfilename。

3.手动同步

通过键入save/bgsave命令可以手动同步数据到文件中。建议使用bgsave命令,因为save会阻塞

二、AOF方式

1.运行原理:

将发送到Redis服务端的每一条命令都记录下来,并且保存到硬盘中的AOF文件。

AOF文件的位置和RDB文件的位置相同,都是通过dir参数设置,默认的文件名是appendonly.aof,可以通过appendfilename参数修改。

文件写入默认情况下会先写入到系统的缓存中,系统每30秒同步一次,才是真正的写入到硬盘。如果在这30秒服务器宕机,那么数据也会丢失的,Redis可以通过配置来修改同步策略。通过fsync函数强制os写入到磁盘的时机。修改redis.conf文件:

appendonly yes            //启用aof持久化方式
# appendfsync always      //每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用
appendfsync everysec     //每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐
# appendfsync no    //完全依赖os,性能最好,持久化没保证

2.优化命令,精简文件大小:

键入BGREWRITEAOF命令可以重写AOF文件,使其过滤中间命令。例如:
set test 111
set test 222
set test 333
键入入BGREWRITEAOF命令后,AOF文件会删除上边前2行命令,因为test 的最终值为333,前边的命令是多余的。

3.重写策略的参数设置:

auto-aof-rewrite-percentage 100
当前的AOF文件大小超过上一次重写时的AOF文件大小的百分之多少时会再次进行重写,如果之前没有重写过,则以启动时的AOF文件大小为依据。
auto-aof-rewrite-min-size 64mb
限制了允许重写的最小AOF文件大小,通常在AOF文件很小的时候即使其中有些冗余的命令也是可以忽略的。

AOF优缺点

优点:比快照方式可靠,默认每秒同步一次,意味着最多丢失一秒的数据
缺点:相同数据集大小,AOF文件会比快照文件大

转载于:https://www.cnblogs.com/moonlightL/p/7364617.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400153.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图片响应式

img-responsive 编辑 本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! img-responsive是图片响应式的意思,在Bootstrap框架中,有一个.img-responsive的CSS样式。应用这个样式以后…

【电路补习笔记】1、电阻的参数与选型

目录参数精度温度系数功率贴片电阻色环电阻传感器电阻老师的主页:唐老师讲电赛 视频地址:唐老师讲电赛之唐老师讲电子器件(1)电阻参数与选型 电阻按封装分为直插、贴片与印刷电阻(有些电阻直接印刷在PCB上)…

redis本地安装

redis在本地的安装及使用1、首先下载redis安装包,下载地址如下 http://pecl.php.net/package/redis/2.2.7/windows输入phpinfo()查看php版本进行相应的下载,注意版本2、下载完成后将php_redis.dll放到ext下,在php.ini中添加extensionphp_re…

Xcode模拟器和真机生成的日志查看(ios必知必会)

在进行实际代码开发的过程中,我们会生成一些plist文件,但是如何在调试过程中查看这些plist文件是否被成功生成以及生成的内容是否正确? 如果查看模拟器生成的日志和真机生成的日志到底如何查看? DEMO 首先生成一个plist文件 NSArr…

【Net】测试网络、查看IP

http://www.speedtest.cn/ 转载于:https://www.cnblogs.com/flydkPocketMagic/p/7380400.html

WordPress 不同分类目录调用不同模板的方法

https://www.jb51.net/cms/275887.html wordpress不同分类调用不同模板文件 用wordpress做站特别是企业站的时候,多个分类的内容不同需要显示的页面也不一样,比如有些分类显示的是产品缩略图,有些显示的是公司新闻公告等,此时需要…

【电路补习笔记】2、电容的参数与选型

目录分类无极性电容有极性电容电解电容钽电容参数精度温度系数材质耐压温度范围ESRESL电容并联高频特性焊盘(PAD)和旁路电容的放置老师的主页:唐老师讲电赛 视频地址:唐老师讲电赛之唐老师讲电子器件(1)电容…

【转】测试工程师日常工作需要关注的问题

在互联网公司追求价值最大化、成本最低化的今日,很多互联网公司开始提倡高的开发测试比率,工程师都有必要提升自己的贡献、产能,我们也需要将一些问题融入到工作中,在做中寻找答案。 跳出自己的小圈子,甚至跳出测试角色…

SQL 必知必会·笔记14更新和删除数据

1. 更新数据 基本的UPDATE语句,由三部分组成: 要更新的表列名和它们的新值确定要更新那些行的过滤条件更新单列示例: 1 UPDATE Customers 2 SET cust_email kimthetoystore.com 3 WHERE cust_id 1000000005; 更新多列的示例: 1 …

1005:I Think I Need a Houseboat-poj

1005:I Think I Need a Houseboat 总时间限制: 1000ms内存限制: 65536kB描述Fred Mapper is considering purchasing some land in Louisiana to build his house on. In the process of investigating the land, he learned that the state of Louisiana is actually shrinkin…

【电路补习笔记】3、电感的参数与选型

目录分类电感的模型参数精度直流电阻(DCR)通流能力(Irms)自谐振频率(SRF)饱和电流(Isat)标号老师的主页:唐老师讲电赛 视频地址:唐老师讲电赛之唐老师讲电子器…

八排序算法

概述 排序有内部排序和外部排序。内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据非常大,一次不能容纳所有的排序记录。在排序过程中须要訪问外存。 我们这里说说八大排序就是内部排序。 当n较大。则应採用时间复杂度为O(nlog2n)的排序方法…

wordpress CAS

https://wordpress.org/plugins/authorizer/#description 安装 Authorizer 插件,待测试。

poj 3436 (最大流)

题意:每台电脑共有p种零件,现在有n台机器,给出n台机器每台需要的一些种类零件当原料(0代表不需要,1代表必须要,2代表可有可无)和输出的产品零件。问怎么安排生产线使生产出来零件可以组装的电脑最多。 思路…

web前端java script BOM学习笔记2017.8.1

DOM: document object model 文档对象模型提供了一套可以访问和修改HTML文档内容的方法访问:获取修改:设置1 JS要去操作HTML元素,必须要先用JS找到他,转换为JS的DOM对象操作:a 标签属性b css属性c 元素内容2 找对象的方…

【电路补习笔记】4、二极管的参数与选型

目录常用二极管二极管的结构与特性结构参数最大整流电流IFI_FIF​最大反向工作电压URU_RUR​反向电流IRI_RIR​最高工作频率fMf_MfM​应用常见应用单相整流电路单相半波整流电路单相桥式整流电路稳压管稳压管的伏安特性参数稳压值UZU_ZUZ​稳定电流IZI_ZIZ​额定功耗PZP_ZPZ​动…

wordpress 自定义字段

https://codex.wordpress.org/Using_Custom_Fields 显示自定义字段 <&#xff1f;php the_meta&#xff08;&#xff09;; &#xff1f;> 获取自定义字段

@font-face 使用过程

格式&#xff1a; TureTpe(.ttf)格式&#xff1a; .ttf字体是Windows和Mac的最常见的字体&#xff0c;是一种RAW格式&#xff0c;因此他不为网站优化,支持这种字体的浏览器有【IE9,Firefox3.5,Chrome4,Safari3,Opera10,iOS Mobile Safari4.2】 OpenType(.otf)格式&#xff1a;…

【电路补习笔记】5、三极管的参数与选型

目录常用的三极管型号结构作用放大三极管的三种放大组态的比较共射极放大电路单管共射放大电路&#xff08;受温度影响大&#xff09;的动态特性单管共射分压偏置放大电路的动态特性共集电极放大电路使用共基极放大电路多级放大电路多级放大电路的耦合多级放大电路的动态分析开…

WordPress函数:get_sidebar(获取侧边栏)

https://www.wpdaxue.com/get_sidebar.html 左边栏和右边栏 一个主题包含2个边栏。 1 2 3 4<?php get_header(); ?> <?php get_sidebar(left); ?> <?php get_sidebar(right); ?> <?php get_footer(); ?> 右边栏和左边栏的名字应该分别命名为…