iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >aof日志文件的用处有哪些
  • 523
分享到

aof日志文件的用处有哪些

2024-04-02 19:04:59 523人浏览 安东尼
摘要

今天就跟大家聊聊有关aof日志文件的用处有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  在Redis配置文件中有一个叫appendonly的

今天就跟大家聊聊有关aof日志文件的用处有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

  在Redis配置文件中有一个叫appendonly的选项,可以写yes或no.这个选项就是负责是否开启AOF日志的开关.AOF日志,你可以简单理解为Mysql binlog一样的东西,作用就是记录每次的写操作,在遇到断电等问题时可以用它来恢复数据库状态.但是他不是bin的,而是text的.一行一行,写得很规范.如果你是一台redis,那你也能人肉通过它恢复数据。下面编程网小编来讲解下aof(append only file)日志文件有哪些用处?
  aof(append only file)日志文件有哪些用处

  Redis有三种类型的落地文件:
  
  数据文件-在配置中可设置其位置及文件名,默认文件名dump.rdb
  
  日志文件-在配置中也可以配置.当然,在你是以daemon方式运行的时候,这个值就不要设置为stdout了,这么设置会自动被换成/dev/null
  
  AOF文件-也就是我们这篇文章的主角,他的作用是用于数据恢复.他除了设置是否开启外,还可以设置开启后以何种方式写日志.这个何种一共是三种,1是每次写操作都保证将fsync()来完成的,2是每秒调用一次fsync(),3是从不调用,让操作系统自己来同步.当然,设置为不同,效率会不同,你的数据损失风险也不同.
  
  运行流程
  
  既然是log文件,而且是要用于恢复的,那么我们动动脚趾都能想到,这玩意肯定会越来越大,不管你的应用是大是小,如果AOF文件只增不减的话,那文件将会无限长大,这个问题是所有binlog都会遇到的.而通常遇到这种问题都会有一个rotate方案.就是当日志达到一定大小或者每隔一段时间将日志写到新的一个文件中,旧日志文件可以用来备份或其它.
  
  而Redis的AOF还和rotate略有不同,他用了一种比较简单的方法,就是先给当前的所有数据做一个快照.然后再在这个快照的基础上写接下来的日志.
  
  照快照的好处是,你之前可能用了10w次操作共改变了100条数据(比如在一条数据上进行了多次操作).那这时你AOF中的10w条写操作记录就变成了100条记录.相当于将前面的执行全部合并了.原本很大AOF变小了.
  
  执行这个操作的命令是:BGREWRITEAOF (background rewrite append only file)
  
  这个快照长什么样呢?基本和一般的写日志没什么两样,也是一条一条的写记录..比如现在Redis中总共存了3条string类型的数据a=>1,b=>2,c=>3.那这个快照的基本内容就是写入a=>1,写入b=>2,写入c=>3.
  
  这时候要用AOF进行恢复的时候,只要先执行了前面几条,就能够恢复当前状态,然后再执行之后来的写操作,就能完全重现数据了.
  aof(append only file)日志文件有哪些用处
  内部实现
  
  我们大概知道了执行BGREWRITEAOF时都发生了什么,下面来说一下Redis是如何实现的.分下面几步:
  
  fork! Redis通过fork产生子进程.
  
  子进程对当前数据执行遍历操作,将当前所有数据都生成一条写入日志,将这些日志写入一个临时文件.(其实是子进程写了一个临时文件,又再rename成了另一个临时文件)
  
  父子进程是并行执行的,在子进程遍历并写临时文件的时候,父进程在照常接收请求,处理请求,写AOF,不过这时他是把新来的AOF写在一个缓冲区中.
  
  当子进程完成遍历操作,写完临时文件后,就会退出.这时父进程的wait3函数会接收到子进程退出的消息,他会把自己现在收集在缓冲区中的所有AOF追加在临时文件中.
  
  最后一步,把临时文件rename一下,改名为appendonly.aof,这时原来的aof文件被覆盖.整个过程完成.
  
  如果你的AOF文件稍微大点,你可以在一个终端执行BGREWRITEAOF,然后立刻ls 连着查看几次redis的data目录,就可以看到,先生成了一个临时文件,临时文件比原来的appendonly.aof小一些,然后临时文件消失,而原来的appendonly.aof变小了,其实就是临时文件rename成了appendonly.aof..覆盖了原来的大文件.看起来像是临时文件消失了。

看完上述内容,你们对aof日志文件的用处有哪些有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网数据库频道,感谢大家的支持。

您可能感兴趣的文档:

--结束END--

本文标题: aof日志文件的用处有哪些

本文链接: https://www.lsjlt.com/news/71821.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • aof日志文件的用处有哪些
    今天就跟大家聊聊有关aof日志文件的用处有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  在Redis配置文件中有一个叫appendonly的...
    99+
    2022-10-19
  • mysql日志文件有哪些作用
    了解mysql日志文件有哪些作用?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!MySQL日志文件可分为:重做日志(redo...
    99+
    2022-10-18
  • mysql相关的日志文件有哪些
    这篇文章给大家分享的是有关mysql相关的日志文件有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。  Mysql的日志文件种类比较多,有的日志文件记录了mysql...
    99+
    2022-10-19
  • linux日志文件类型有哪些
    这篇文章主要介绍“linux日志文件类型有哪些”,在日常操作中,相信很多人在linux日志文件类型有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux日志文件类型有...
    99+
    2023-02-14
    linux
  • MySQL常见的日志文件分类有哪些
    下面讲讲关于MySQL常见的日志文件分类有哪些,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL常见的日志文件分类有哪些这篇文章你一定会有所受益。日志对一个系统或者应用来...
    99+
    2022-10-18
  • vps主机租用Linux系统有哪些日志文件
    vps主机租用Linux系统的日志文件有:1、messages文件,用于记录Linux的内核消息及各种应用程序的公共日志信息;2、cron文件,用于记录crond计划任务产生的事件信息;3、dmesg文件,用于记录Linux操作系统在引导过...
    99+
    2022-10-17
  • linux系统日志文件包含的内容有哪些
    今天小编给大家分享一下linux系统日志文件包含的内容有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2023-02-17
    linux
  • Linux系统查看日志文件命令有哪些
    这篇文章主要为大家展示了Linux系统查看日志文件命令有哪些,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“Linux系统查看日志文件命令有哪些”这篇文章吧。Log位置:/var/log/messa...
    99+
    2023-06-28
  • laravel的日志文件在哪
    laravel的日志文件在项目的“storage/logs”目录下。在这个目录中,可以找到Laravel应用程序运行时产生的所有日志文件,每个日志文件都具有日期为文件名的格式,例如“laravel-2022-01-01.log”。通过使用L...
    99+
    2023-07-11
  • linux日志监控软件有哪些
    linux中常见的日志监控软件有:1.Logcheck,日志管理系统;2.Logwatch,日志分析器;3.Logstash,数据收集和记录系统;linux中常见的日志监控软件有以下几种LogcheckLogcheck是一个开源的日志管理系...
    99+
    2022-10-20
  • PostgreSQL的日志文件参数及注意事项有哪些
    这篇文章主要介绍“PostgreSQL的日志文件参数及注意事项有哪些”,在日常操作中,相信很多人在PostgreSQL的日志文件参数及注意事项有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方...
    99+
    2022-10-18
  • 美国廉价vps的Linux系统有哪些日志文件
    美国廉价vps的Linux系统日志文件有:1、messages文件,用于记录Linux的内核消息及各种应用程序的公共日志信息;2、cron文件,用于记录crond计划任务产生的事件信息;3、dmesg文件,用于记录Linux操作系统在引导过...
    99+
    2022-10-17
  • 美国VPS主机Linux系统有哪些日志文件
    美国VPS主机Linux系统的日志文件有:1、messages文件,用于记录Linux的内核消息及各种应用程序的公共日志信息;2、cron文件,用于记录crond计划任务产生的事件信息;3、dmesg文件,用于记录Linux操作系统在引导过...
    99+
    2022-10-15
  • 数据库日志文件过大清理的方法有哪些
    这篇文章主要介绍“数据库日志文件过大清理的方法有哪些”,在日常操作中,相信很多人在数据库日志文件过大清理的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”数据库日志文...
    99+
    2022-10-18
  • 后端开发必备的MySQL日志文件知识点有哪些
    这篇文章主要介绍“后端开发必备的MySQL日志文件知识点有哪些”,在日常操作中,相信很多人在后端开发必备的MySQL日志文件知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2022-10-19
  • 美国VPS主机Linux系统常见的日志文件有哪些
    美国VPS主机Linux系统常见的日志文件有:“/var/log/messages”、“/var/log/cron”、“/var/log/dmesg”、“/var/log/maillog”、“/var/log/lastlog”、“/var/...
    99+
    2022-10-04
  • mysql日志文件的位置在哪
    小编给大家分享一下mysql日志文件的位置在哪,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!查找错误日志文件路径show variables like ‘log_error’;在mysql数据...
    99+
    2022-10-18
  • MySQL日志的知识点有哪些
    本篇内容主要讲解“MySQL日志的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL日志的知识点有哪些”吧!Mysql的日志系统是Mysql保...
    99+
    2022-10-19
  • Python中的日志处理和调试技巧有哪些?
    Python中的日志处理和调试技巧有哪些?引言:在开发和调试过程中,对于代码的运行状态、错误和异常的跟踪以及性能的评估都是至关重要的。在Python中,日志处理和调试技巧可以帮助我们更好地理解代码的执行情况,定位并修复bug,并优化程序的性...
    99+
    2023-10-22
    调试技巧 关键词:日志处理
  • Go语言中如何处理并发文件的文件系统文件日志和审计日志问题?
    Go语言中如何处理并发文件的文件系统文件日志和审计日志问题?在Go语言中,处理并发文件的文件系统文件日志和审计日志问题是一项常见的需求。Go语言提供了多种机制来处理并发文件操作,如锁机制、管道、协程等。本文将介绍如何在Go语言中处理文件系统...
    99+
    2023-10-22
    并发处理 文件系统 审计日志
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作