首页 > 数据库 >Redis6 持久化

Redis6 持久化

时间:2022-10-18 11:33:05浏览次数:40  
标签:AOF 持久 文件 Redis6 Redis 进程 快照

RDB(Redis DataBase)

在指定的时间间隔内将内存中的数据集快照写入磁盘, 也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里

Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到 一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。 整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能 如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方式要比AOF方式更加的高效。RDB的缺点是最后一次持久化后的数据可能丢失。

l Fork的作用是复制一个与当前进程一样的进程。新进程的所有数据(变量、环境变量、程序计数器等) 数值都和原进程一致,但是是一个全新的进程,并作为原进程的子进程

l 在Linux程序中,fork()会产生一个和父进程完全相同的子进程,但子进程在此后多会exec系统调用,出于效率考虑,Linux中引入了“写时复制技术

l 一般情况父进程和子进程会共用同一段物理内存,只有进程空间的各段的内容要发生变化时,才会将父进程的内容复制一份给子进程。

image-20211209134300802

在redis.conf中配置文件名称,默认为dump.rdb

image-20211209134408925

rdb文件的保存路径,也可以修改。默认为Redis启动时命令行所在的目录下

dir "/myredis/"

image-20211209134444802

AOF (Append Of File)

日志的形式来记录每个写操作(增量保存),将Redis执行过的所有写指令记录下来(读操作不记录), 只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之,redis 重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作

AOF****持久化流程

(1)客户端的请求写命令会被append追加到AOF缓冲区内;

(2)AOF缓冲区根据AOF持久化策略[always,everysec,no]将操作sync同步到磁盘的AOF文件中;

(3)AOF文件大小超过重写策略或手动重写时,会对AOF文件rewrite重写,压缩AOF文件容量;

(4)Redis服务重启时,会重新load加载AOF文件中的写操作达到数据恢复的目的;

image-20211209134604757

标签:AOF,持久,文件,Redis6,Redis,进程,快照
From: https://blog.51cto.com/lianghecai/5765677

相关文章

  • centos7安装redis6.2
    一、下载安装包[root@glusterfs03~]#wgethttps://download.redis.io/releases/redis-6.2.7.tar.gz--2022-10-1810:35:21--https://download.redis.io/releas......
  • Redis6.2集群部署
    复制集群概述&.集群特点(1)读写分离:Redis复制集群采用主写从读机制进行读写分离,易于性能扩展.(2)数据容灾:Redis复制集群仅支持一主多从,且从服务器也可以关联从服......
  • Redis6.2安装配置
    安装教程[概述]Redis使用标准版本标记进行版本控制,奇数版本为发行版,偶数版本为稳定版&.容器安装Redis镜像拉取:默认从DockerHub拉取镜像,嫌慢可使用阿里镜像仓库.......
  • Redis6.2基础概述
    Redis密码管理:所有库使用同一个密码进行统一管理.库的操作......
  • Python学习:标准库之数据持久存储与交换
    持久存储数据以便长期使用包括两个方面:在对象的内存中表示和存储格式之间来回转换数据,以及处理转换后数据的存储区。标准库包含很多模块可以处理不同情况下的这两个方面......
  • 解决vuex刷新页面数据丢失问题(数据持久化)
    1、为什么刷新页面vuex的数据会丢失刷新页面vuex的数据会丢失属于正常现象,因为JS的数据都是保存在浏览器的堆栈内存里面的,刷新浏览器页面,以前堆栈申请的内存被释放,这就是......
  • Redis6 新功能介绍
    特性的详细细节在此不赘述,我们来看Redis6.0,。Redis6.0版本特性大约可以分为四类,如下表新特性内核优化应用优化其他ACL权限管控(包括ACLLOG)过期Key回收优化......
  • Redis的持久化(RDB和AOF)
    RDB(RedisDataBase)在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。Redis会单独创建(fork)一个子进程来......
  • Redis的数据持久化
    为什么要持久化Redis是内存数据库,宕机后数据会消失,Redis重启后快速恢复数据,要提供持久化机制。Redis的两种持久化方式:RDB和AOFRedis持久化不保证数据的完整性,有可能会丢数据......
  • Redis6️⃣持久化
    Redis持久化Redis持久化:将内存数据写入持久存储(如磁盘)四种策略无持久性:禁用持久性。RDB(RedisDataBase)以指定的时间间隔,记录内存中的数据集快照。恢复时将快照......