当前位置: 首页 > news >正文

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.lryc.cn/news/236505.html

相关文章:

  • uniapp App 端 版本更新检测
  • python用最小二乘法实现平面拟合
  • SpringCloud微服务:Nacos和Eureka的区别
  • 基于Springboot+Vue的校园在线打印预约系统
  • 计算机毕业设计选题推荐-掌心办公微信小程序/安卓APP-项目实战
  • 1.1二分查找
  • 提升工作效率,打造精细思维——OmniOutliner 5 Pro for Mac
  • idea显示pom.xml文件漂黄警告 Dependency maven:xxx:xxx is vulnerable
  • Linux中安装部署环境(JAVA)
  • Zabbix Proxy分布式监控
  • 前端设计模式之【代理模式】
  • Canal+Kafka实现MySQL与Redis数据同步(二)
  • NOIP2023模拟19联测40 诡异键盘
  • 算法设计与分析 | 众数问题(c语言)
  • sql server外键设置
  • R语言实现多变量孟德尔随机化分析(1)
  • 搭建 AI 图像生成器 (SAAS) php laravel
  • Maven引用本地jar包
  • 一起学docker系列之五docker的常用命令--操作容器的命令
  • WPF打开对话框选择文件、选择文件夹
  • nginx学习(3)
  • 【系统架构设计】计算机公共基础知识: 4 数据库系统
  • 主键问题以及分布式 id
  • ReentranReadWriteLock 使用案例
  • “我们把最扎心的话,说给了自己最亲近的人” 何解?| IDCF
  • MongoDB之索引和聚合
  • 【GEE】基于GEE进行非监督学习
  • 多视图聚类的论文阅读(一)
  • K-Means算法进行分类
  • 深度学习交通车辆流量分析 - 目标检测与跟踪 - python opencv 计算机竞赛