首页 > 数据库 >Redis持久化机制

Redis持久化机制

时间:2022-10-11 15:59:00浏览次数:54  
标签:文件 同步 持久 AOF Redis rdb 保证数据 化机制

一、全量同步增量同步

Redis在不明原因宕机的情况下,数据是不会宕机的。因为数据已持久化。持久化策略分为全量同步增量同步.

1、全量同步(RDB):每天定时(避开高峰期)或者采用一个周期实现将数据拷贝到另个一地方。如果突然断电,会造成数据丢失。

2、增量同步(AOF):偏向实时同步。根据命令操作,对数据实现同步。频率非常高,对服务器同步的压力非常大,保证数据不丢失。

增量同步比全量同步更加消耗服务器的内存,但是能够更加的保证数据的同步。

二、 底层原理

RDB和AOF同时开启,优先使用aof

1、RDB

主线程:监听redis数据请求
子线程(fork):处理rdb数据同步,写成一个二进制文件dump 文件存储到硬盘,格式为rdb。(每次同步都会覆盖原来的dump.rdb文件)每个临时rdb文件都可能使最终rdb文件

2、AOF

以每次写的请求记录到aop文件中,以日志文件的形式记录下来。
在Redis的配置文件中存在三种同步方式,它们分别是:
appendfsync always     #每次有数据修改发生时都会写入AOF文件,能够保证数据不丢失,但是效率非常低。
appendfsync everysec #每秒钟同步一次,可能会丢失1s内的数据,但是效率非常高。(将写的请求记录到缓冲区,每秒从缓冲区读取写到aof文件中。)
appendfsync no         #从不同步。高效但是数据不会被持久化。
直接修改redis.conf中 appendonly yes
建议最好还是使用everysec 既能够保证数据的同步、效率也还可以。

标签:文件,同步,持久,AOF,Redis,rdb,保证数据,化机制
From: https://www.cnblogs.com/pinp/p/16779470.html

相关文章

  • Redisson分布式锁
    待到秋风四起时,孤舟远赴倒悬山。官方文档:https://github.com/redisson/redisson使用示例更多请参考官方文档引入依赖<dependency>  <groupId>org.redisson</gro......
  • docker方式实现postgres数据持久化离线安装
    保存镜像root@hello:~#dockerpullpostgresUsingdefaulttag:latestlatest:Pullingfromlibrary/postgresa2abf6c4d29d:Alreadyexistse1769f49f910:Pullcomple......
  • RedisShake迁移同步工具
    阿里开源项目地址:https://github.com/alibaba/RedisShake程序下载地址:https://github.com/alibaba/RedisShake/releases下载最新程序,里面包含了配置文件https://gith......
  • Spring-04:持久化数据,了解SpringDataJPA和Mybatis
    1Javaweb阶段的方式在之前的Javaweb项目中,我们持久化数据的方式还是直接使用JDBC参考:Javaweb总结-目前开发Javaweb的套路梳理https://www.cnblogs.com/fancy2022/p/16......
  • flinksql读写redis
    0、前言最近有个需求,需要使用flinksql读写redis,由于官网上并没有redis的connector,在网上找了很久,开源的几个connector又没法满足要求,所有这里就自己动手实现了一个。......
  • redis新数据类型Bitmaps基础操作
    1、首先连上你的redis以下一些命令很简单,或者执行命令后效果也无法体现的就没有进行截图展示2、Bitmaps相关操作说明:现在的计算机用二进制(位)作为信息的基础单位,Bitmaps......
  • Linux 下安装Redis
    下载地址:http://redis.io/download,下载最新稳定版本。本教程使用的最新文档版本为2.8.17,下载并安装:1#wgethttp://download.redis.io/releases/redis-6.0.8.tar.gz2......
  • Redis-2
    Redis配置文件在redis根目录提供redis.conf配置文件,如果不使用配置文件,redis会按照默认参数运行网络配置port:指定redis服务使用的端口,默认使用6379bind:配置客户端......
  • vuex-persistedstate 持久化插件用来解决数据刷新问题
    vuex-persistedstate持久化插件用来解决数据刷新数据丢失问题1.指定需要持久化的statenpminstallvuex-persistedstate--save引入及配置在store下的index.js中impo......
  • docker redis 修改密码
    进入redis[root@iZwz98nzsodcbigjqrrmxmZ~]#dockerexec-itredisbash进入bin目录root@1473acb2f8e7:/data#cd/usr/local/bin/运行命令root@1473acb2f8e7:/us......