redis持久化机制:RDB和AOF

这篇具有很好参考价值的文章主要介绍了redis持久化机制:RDB和AOF。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Redis的持久化机制主要依赖于两种方法:RDB(Redis Database)和AOF(Append Only File)。这两种机制可以单独使用,也可以同时使用,以提高数据的持久性和可靠性。

RDB(Redis Database)

  1. 工作原理

    • RDB通过创建数据集的快照来进行持久化。
    • 快照创建可以在指定的时间间隔内自动完成,也可以手动触发。
    • 当快照创建时,Redis会执行一个fork操作,创建一个子进程。
    • 子进程将当前内存中的数据写入到临时RDB文件中。
    • 写入完成后,这个临时RDB文件替换掉旧的RDB文件。
    • 在这个过程中,主进程可以继续处理客户端请求。
  2. 优点

    • 快照占用的空间较小,因为它只是某个时间点的数据副本。
    • 恢复数据时速度较快。
  3. 缺点

    • 如果Redis崩溃,自上次快照以来的所有更改都会丢失。
  • 在大型数据库上创建快照可能会导致性能问题。

AOF(Append Only File)

  1. 工作原理

    • AOF通过记录对数据库进行的所有写操作来实现持久化。
    • 每个写操作都会被追加到AOF文件的末尾。
    • Redis支持不同的AOF重写策略,如每次写入后、每秒写入或者从不写入。
    • 随着操作的增多,AOF文件的大小会不断增长,因此Redis提供了AOF重写的功能,这可以压缩AOF文件的大小。
  2. 优点

    • 提供了更好的持久性保证,因为每个写操作都被记录下来了。
    • 即使在极端条件下,比如系统崩溃或断电,最多也就丢失一秒的数据(取决于AOF的配置)。
  3. 缺点

    • AOF文件通常比RDB文件大。
    • 在高负载下,AOF可能会降低Redis的性能。

结合使用RDB和AOF

  • 在实际应用中,通常建议同时使用RDB和AOF,以结合两者的优点。
  • 可以配置Redis在特定条件下进行RDB快照,同时持续地将操作记录到AOF文件中。
  • 在数据恢复时,Redis会先读取AOF文件,因为它更完整地记录了所有写操作。

这样配置后,可以获得RDB的快速恢复能力和AOF的高可靠性。

关键配置项

RDB配置

  1. 触发快照的条件

    • save <seconds> <changes>:当满足“在指定的秒数内有多少次更改”时,自动创建快照。
    • 例如:
       

      bashCopy code

      save 900 1 # 在900秒内如果至少有1个key被更改,则触发快照 save 300 10 # 在300秒内如果至少有10个keys被更改,则触发快照 save 60 10000 # 在60秒内如果至少有10000个keys被更改,则触发快照

  2. 快照文件的位置

    • dbfilename <filename>:指定RDB文件的名称。
    • dir <dir>:指定RDB文件的存储目录。

AOF配置

  1. 启用AOF持久化

    • appendonly yes:启用AOF持久化机制。
  2. AOF文件的写入策略

    • appendfsync always:每次写入都同步到磁盘(最安全,但性能最低)。
    • appendfsync everysec:每秒同步一次到磁盘(推荐,性能和安全性平衡)。
    • appendfsync no:由操作系统决定何时同步到磁盘(最快,但最不安全)。
  3. AOF文件的位置

    • appendfilename "<filename>":指定AOF文件的名称。
  4. AOF重写配置文章来源地址https://www.toymoban.com/news/detail-803625.html

    • auto-aof-rewrite-percentage <percentage>:当AOF文件增长达到设置的百分比时触发重写。
    • auto-aof-rewrite-min-size <size>:设置触发重写的AOF文件最小大小。
# RDB配置
save 900 1
save 300 10
save 60 10000
dbfilename dump.rdb
dir /var/lib/redis

# AOF配置
appendonly yes
appendfsync everysec
appendfilename "appendonly.aof"
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

注意事项

  • 配置文件的路径通常在启动Redis服务时指定。默认情况下,它可能位于/etc/redis/redis.conf
  • 修改配置文件后,需要重启Redis服务,或者通过CONFIG REWRITE命令在线重载配置。
  • 确保你的磁盘空间足够存储RDB和AOF文件,特别是当数据库很大时。
  • 在生产环境中,适当调整这些设置以达到最佳的性能和数据安全平衡。

到了这里,关于redis持久化机制:RDB和AOF的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • redis持久化【RDB+AOF】持久化双雄

    redis持久化【RDB+AOF】持久化双雄

    这是redis系列文章之《redis持久化【RDB+AOF】持久化双雄》,上一篇文章【redis基础】redis的十大数据类型_努力努力再努力mlx的博客-CSDN博客 感谢大家的支持~ 目录 RDB 什么是RDB RDB的作用 配置文件关于RDB部分  6vs7 操作步骤 修改配置文件(本案例设置5s修改2次) 修改dump文件的保

    2024年02月08日
    浏览(33)
  • redis 持久化 RDB + AOF

    redis 持久化 RDB + AOF

    RDB(Redis DataBase)和AOF(Append Only File) RDB,简而言之,就是在不同的时间点,将redis存储的数据生成快照并存储到磁盘等介质上 AOF,那就是将redis执行过的所有写指令记录下来,在下次redis重新启动时,只要把这些写指令从前到后再重复执行一遍,就可以实现数据恢复了。

    2024年02月03日
    浏览(14)
  • Redis两种持久化方案RDB持久化和AOF持久化

    Redis两种持久化方案RDB持久化和AOF持久化

    Redis持久化 Redis有两种持久化方案: RDB持久化 AOF持久化 1.1.RDB持久化 RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。快照文件称为RDB文件

    2024年02月14日
    浏览(13)
  • 全面解析 Redis 持久化:RDB、AOF与混合持久化

    前言: 每次你在游戏中看到玩家排行榜,或者在音乐应用中浏览热门歌单,有没有想过这个排行榜是如何做到实时更新的?当然,依靠 Redis 即可做到。 在技术领域,我们经常听到 「键值存储」 这个词。但在 Redis 的世界里,这只是冰山一角。Redis 的对象,不仅仅是简单的数据

    2024年03月10日
    浏览(15)
  • Redis优化 RDB AOF持久化

    Redis优化 RDB AOF持久化

    ---------------------- Redis 高可用 ---------------------------------------- 在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常服务(如主

    2024年02月09日
    浏览(16)
  • Redis_持久化(AOF、RDB)

    Redis_持久化(AOF、RDB)

    目前,redis的持久化主要应用AOF(Append Only File)和RDF两大机制,AOF以日志的形式来记录每个写操作(增量保存),将redis执行过的所有指令全部安全记录下来(读操作不记录)。只许追加文件,但不可以改写文件,redis启动之初,会读取该文件,重新构建数据。 AOF默认不开启

    2024年02月13日
    浏览(12)
  • Redis 持久化RDB和AOF

    Redis 有两种持久化方案,RDB (Redis DataBase)和 AOF (Append Only File)。如果你想快速了解和使用RDB和AOF,可以直接跳到文章底部看总结。本章节通过配置文件,触发快照的方式,恢复数据的操作,命令操作演示,优缺点来学习 Redis 的重点知识 持久化 。 RDB 是 Redis 默认的持久化

    2024年02月14日
    浏览(12)
  • Redis持久化(RDB和AOF)

    目录 方式一:RDB 方式二:AOF AOF重写可能出现的问题及解决方案 方式三:RDB-AOF混合持久化 Redis持久化 :Redis是基于内存数据库,宕机后和数据会消失,当Redis用作DB 时,DB数据要完整,所以一定要有一个完整的数据源文件,在系统启动时,从这个完整的数据源中将数据load到

    2024年02月16日
    浏览(15)
  • Redis 持久化-RDB和 持久化-AOF 的详细介绍以及区别

    Redis 持久化-RDB和 持久化-AOF 的详细介绍以及区别

    在线文档: https://redis.io/topics/persistence RDB(Redis DataBase) AOF(Append Of File) 在指定的时间间隔内将内存中的数据集快照写入磁盘, 也就Snapshot 快照,恢复时将快照文件读到内存 RDB 及其执行流程 对上图的解读 具体流程如下: redis 客户端执行bgsave 命令或者自动触发bgsave 命令;

    2024年02月09日
    浏览(13)
  • Redis---数据持久化之RDB与AOF

    Redis 数据库文件,全称 Redis DataBase,数据持久化方式之一,数据持久化 默认方式 ,按照指定时间间隔,将内存中的数据及快照写入硬盘 定义RDB文件名 dbfilename \\\"dump.rdb\\\" RDB指dump.rdb文件; redis数据每次存盘,如果不指定持久化的方式,数据就会默认存入dump.rdb文件中 数据从内存

    2023年04月19日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包