Redis数据的持久化

Redis的持久化有两种方式:

RDB(Redis Database)和AOF(Append Only File)

目录

一、RDB

保存方式

2、rdb在redis.conf文件中的配置

二、AOF

1、保存方式

2、aof方式持久化在redis.conf文件中的配置

三、持久化建议

四、单机版-redis部署


一、RDB

保存方式

将Redis数据以快照的形式保存到磁盘中

在RDB方式下,Redis提供了save和bgsave两种方式进行数据持久化。

其中save方式是在主进程中执行,会阻塞所有的客户端请求,直到快照保存完成。

bgsave方式则是通过创建子进程进行数据持久化,并不会阻塞客户端请求。

在save和bgsave中,save会在执行完指定时间内的写操作后进行快照保存,而bgsave则是在指定时间内开启一个子进程进行快照保存。

在save和bgsave中,save会在执行完指定时间内的写操作后进行快照保存,而bgsave则是在指定时间内开启一个子进程进行快照保存。

save 900 1
save 300 10
save 60 10000
redis的持久化操作为什么要保存三次

因为在Redis的持久化过程中,如果只进行一次快照保存,可能会因为系统崩溃或者其他原因导致数据丢失。而多次进行快照保存,可以增加数据的保护程度,降低数据丢失的风险。因此,通常会对持久化操作进行多次保存,在上述的示例中,就是在900秒、300秒和60秒后分别进行一次快照保存。

2、rdb在redis.conf文件中的配置

dir /a/b/c

#该名称会在dir目录下生成

dbfilename dump.rdb

rdbcompression yes

#rdbcompression指定是否开启rdb文件的压缩存储,默认为yes,开启压缩存储后可以减小RDB文#件的大小,但会增加cpu的使用量。

二、AOF

1、保存方式

将Redis的每个写操作以追加的方式记录到AOF文件中,这样在redis重启时可以通过重新执行AOF文件中记录的写操作来恢复数据

2、aof方式持久化在redis.conf文件中的配置

dir /a/b/c

#开启AOF持久化方式

appendonly yes

#文件名

appendfilename "appendonly-41.aof"

三、持久化配置-建议

在配置redis.conf时,可以同时配置rdb和aof两种格式的持久化操作吗,有什么推荐?

可以同时配置RDB和AOF两种格式的持久化操作,因为它们各有优缺点,可以根据实际情况选择合适的持久化方式。

RDB持久化方式可以将Redis数据库在指定的时间间隔内生成快照,并将快照保存到硬盘上。快照保存的是Redis数据库在某个时间点的数据,可以保证数据的完整性。但是,如果Redis服务器在快照生成之后崩溃,最后一次快照生成之后的新写入数据将会丢失。

AOF持久化方式可以将Redis数据库中所有的写命令记录在追加文件中,当Redis服务器重启时,可以通过重新执行AOF文件中的所有命令来还原数据。AOF持久化方式可以更好地保证数据的一致性,但是由于需要记录每个写命令,所以AOF文件通常比RDB文件更大,重启时也需要更长的时间来还原数据。

根据业务的需求和实际情况,可以选择RDB、AOF或RDB与AOF的组合持久化方式。如果数据的完整性比较重要,可以使用RDB方式;如果数据的一致性比较重要,可以使用AOF方式;如果既要保证数据的完整性,又要保证数据的一致性,可以使用RDB与AOF的组合方式。一般来说,建议使用AOF持久化方式,因为它更能保证数据的一致性。

四、单机版-redis部署

https://blog.csdn.net/Isonion/article/details/134442807?spm=1001.2014.3001.5501

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

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

相关文章

spring cloud openfeign 使用注意点

近期在做项目时给自己挖了一个坑,问题重现如下 使用的组件版本如下 spring boot 2.7.15,对应的 spring cloud 版本为 2021.0.5,其中 spring cloud 适配的 openfeign 版本是 3.1.5。 项目中使用的 feign 接口如下 public interface QueryApi…

vulnhub靶场—matrix-breakout-2-morpheus靶机

一,实验环境 靶机ip:192.168.150.131攻击机ip:192.168.150.130 二,信息收集 arp-scan -l 扫描网段,寻找靶机ip 使用工具nmap进行端口扫描 nmap -A -T4 -p- 192.168.150.131 通过信息收集发现了靶机有80和81这两个…

golang学习笔记——基础01

文章目录 golang概述Go 语言特色Go 语言用途 Go 语言结构执行 Go 程序 Go 语言包管理01Go 语言包管理02Go 语言基础语法Go 标记行分隔符注释标识符字符串连接关键字、预定义标识符Go 语言的空格格式化字符串 Go 语言数据类型数字类型浮点型其他数字类型 Go 语言变量变量声明零值…

酷柚易汛ERP - 通用设置操作指南

1、系统设置 对系统进行初步设置,如系统LOGO、站点名称、备案号、版权信息、尾部信息及系统相关的一些基础设置 2、应用/小程序配置 对系统移动端进行相关配置 3、短信配置 对系统短信进行配置,此配置用于移动端一些通知类信息发送【目前仅支持阿里云…

centos7 网卡聚合bond0模式配置

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、什么是网卡bond二、网卡bond的模式三、配置bond0 一、什么是网卡bond 所谓bond,就是把多个物理网卡绑定成一个逻辑上的网卡,使用同一个…

es使用客户端,“grunt” 不是内部或外部命令,多种解决方法

”grunt“不是内部或外部命令,也不是可运行的程序 或批处理文件。 4、问题排查 查看node的安装根目录 npm root -g 在运行grunt -version还是不行 网上找了很多,给出正确解决方案的没几个,所以自己摸索,最后确定了加环境变量的解…

电子学会C/C++编程等级考试2021年09月(一级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:数字判断 输入一个字符,如何输入的字符是数字,输出yes,否则输出no 输入 一个字符 输出 如何输入的字符是数字,输出yes,否则输出no 样例1输入 样例1输入 5样例1输出 yes样例2输入 A 样例2输出 …

人生阶段总结

--回顾一下我迷茫、努力、不开心又失败的阶段人生自我介绍一下,我是一个智力平平,记忆力差,适合自学的长睡眠者。 大专之前 国内的应试教育基本上不适合我,厌恶补课厌恶机械式听课刷题,所有的优势学科都是自学&#xf…

23111709[含文档+PPT+源码等]计算机毕业设计基于Spring Boot智能无人仓库管理-进销存储

文章目录 **软件开发环境及开发工具:****功能介绍:****论文截图:****数据库:****实现:****代码片段:** 编程技术交流、源码分享、模板分享、网课教程 🐧裙:776871563 软件开发环境及…

linux课程第一课------命令的简单的介绍

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…

Java 之拼图小游戏

声明 此项目为java基础的阶段项目,此项目涉及了基础语法,面向对象等知识,具体像语法基础如判断,循环,数组,字符串,集合等…; 面向对象如封装,继承,多态,抽象类,接口,内部类等等…都有涉及。此项目涉及的内容比较多,作为初学者可以很好的将前面的知识串起来。此项目拿来练手以及…

IIC协议保姆级教学

目录 1.IIC协议概述 2.IIC总线传输 3.IIC-51单片机应用 1.起始信号 2.终止信号 3.应答信号 4.数据发送 4.IIC-32单片机应用 用到的库函数: 1.IIC协议概述 IIC全称Inter-Integrated Circuit (集成电路总线)是由PHILIPS公司在80年代开发的两线式串行总线&am…