Redis-aof持久化
什么是redis的aof?
aof 是 appendonly file 的缩写, 是redis系统提供的一种记录redis操作的持久化方案, 在aof生成的文件中, 将记录发生在redis的操作, 从而达到在redis服务器重启或者宕机后, 继续恢复之前的数据状态
AOF文件的保存位置和 RDB文件的位置相同,都是通过dir参数设置的,默认的文件名是
appendonly.aof,可以通过appendfilename参数修改
aof的配置参数
appendonly no #是否打开aof日志功能
appendfsync always #每一个命令, 都立即同步到aof, 安全, 速度慢
appendfsync everysec #折中方案, 每秒写一次
appendfsync no #写入工作交给操作系统, 由操作系统判断缓存去大小, 统一写入到aof, 同步频率低, 速度快
no-appendfsync-on-rewrite yes #正在导出 rdb 快照过程中, 要不要停止同步 aof
auto-aof-rewrite-percentage 100 #aof文件大小比起上次重写时的大小, 增长率 100% 时, 重写
auto-aof-rewrite-min-size 64mb #aof文件, 至少超过 64M 时重写
问: 在dump rdb过程中, aof如果停止同步数据会不会丢失?
答: 不会, 所有的操作缓存在内存的队列里, dump完成后统一操作
问: aof重写是什么
答: aof重写是指把内存中的数据, 逆化成命令, 写入 .aof 日志里, 以解决 aof 日志过大的问题
问: 如果rdb文件和aof文件都存在, 优先用谁来恢复数据?
答: aof
问: 两种是否可以同时使用?
答: 可以, 推荐这样做
问: 恢复时rdb和aof哪个恢复的快?
答: rdb快, 因为它是数据的内存映射, 而aof是命令, 需要逐条执行
Redis允许同时开启AOF和RDB,既保证了数据安全又使得进行备份等操作十分容易。此时重新启动Redis后, Redis会使用AOF文件来恢复数据
实际上当Redis服务器挂掉后, 重启时将按照以下恢复数据到内存
- 如果只配置AOF,重启时加载AOF文件恢复数据
- 如果同时 配置了RDB和AOF,启动是只加载AOF文件恢复数据
- 如果只配置RDB,启动是将加载dump文件恢复数据
Redis-aof持久化的更多相关文章
- 深入剖析 redis AOF 持久化策略
本篇主要讲的是 AOF 持久化,了解 AOF 的数据组织方式和运作机制.redis 主要在 aof.c 中实现 AOF 的操作. 数据结构 rio redis AOF 持久化同样借助了 struct ...
- Redis AOF 持久化详解
Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多.但是一旦进程退出,Redis 的数据就会丢失. 为了解决这个问题,Redis 提供了 RDB 和 ...
- Redis AOF持久化(二)
1.AOF持久化的配置 AOF持久化,默认是关闭的,默认是打开RDB持久化 appendonly yes,可以打开AOF持久化机制,在生产环境里面,一般来说AOF都是要打开的,除非你说随便丢个几分钟的 ...
- redis的持久化之AOF
AOF Redis 分别提供了 RDB 和 AOF 两种持久化机制: RDB 将数据库的快照(snapshot)以二进制的方式保存到磁盘中. AOF 则以协议文本的方式,将所有对数据库进行过写入的命令 ...
- Redis AOF 全持久化
简介: Redis AOF 持久化,将每次接收到更改 redis 数据的操作都记录到一个 aof 文件,当服务器意外宕机或 redis 服务器非法关闭时,不会丢失数据. 可以做到数据安全化,但是性能会 ...
- 《Redis设计与实现》- AOF持久化
1. AOF持久化 Redis AOF 持久化是通过保存Redis服务器所执行的写命令来记录数据库状态的. 2. RDB持久化与AOF持久化的区别 RDB持久化 RDB持久化通过保存数据中的键值对来记 ...
- redis源码分析(四)--aof持久化
Redis aof持久化 Redis支持两种持久化方式:rdb与aof,上一篇文章中已经大致介绍了rdb的持久化实现,这篇文章主要介绍aof实现. 与rdb方式相比,aof会使用更多的存储空间,因为它 ...
- AOF 持久化策略
Redis为了解决AOF后台重写造成的数据不一致问题,设置了AOF重写缓冲区.即使设置了no-appendfsync-on-rewrite yes也会造成短暂的主进程阻塞.原因就在于子进程完成AOF重 ...
- 删库到跑路?还得看这篇Redis数据库持久化与企业容灾备份恢复实战指南
本章目录 0x00 数据持久化 1.RDB 方式 2.AOF 方式 如何抉择 RDB OR AOF? 0x01 备份容灾 一.备份 1.手动备份redis数据库 2.迁移Redis指定db-数据库 3 ...
- Redis的持久化的两种方式drbd以及aof日志方式
redis的持久化配置: 主要包括两种方式:1.快照 2 日志 来看一下redis的rdb的配置选项和它的工作原理: save 900 1 // 表示的是900s内,有1条写入,则产生快照 save ...
随机推荐
- Xmanager连接到RedHat Enterprise Linux 6.8
RedHat Enterprise Linux 6 配置Xmanager ,实现图形界面连接 X是用在大多数UNIX系统中的图形支持系统.如果你在你的Linux机器上使用GNOME或者KDE的话,你就 ...
- schema 对象的简单介绍
官方文档链接地址 http://docs.oracle.com/cd/E11882_01/server.112/e40540/tablecls.htm#CNCPT010 Introduction to ...
- 记一次服务器Tomcat优化经历
公司需要一台测试服务器来做测试用,所以花了几天时间把服务全部部署好,在部署好war包之后,发现Tomcat访问超级慢. 1.进入Tomcat的bin目录下,运行 ./catalina.sh run命令 ...
- 将百度坐标转换的javascript api官方示例改写成传统的回调函数形式
改写前: 百度地图中坐标转换的JavaScript API示例官方示例如下: var points = [new BMap.Point(116.3786889372559,39.90762965106 ...
- php使用openssl加密数据
<?php /** * Created by PhpStorm. * User: hanks * Date: 6/2/2017 * Time: 6:03 PM */ //使用php函数生成密钥对 ...
- ajax数据请求2(json格式)
ajax数据请求2(json格式) <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...
- 传输层socket通讯之java实现
使用流套接字来示例一个客户/服务器的应用.客户端的应用连接到服务器上面,服务端的应用发送数据到客户端,然后客户将收到的数据显示出来. 服务端代码: package socket; import jav ...
- [Android FrameWork 6.0源码学习] ViewGroup的addView函数分析
Android中整个的View的组装是采用组合模式. ViewGroup就相当与树根,各种Layout就相当于枝干,各种子View,就相当于树叶. 至于View类.我们就当它是个种子吧.哈哈! Vie ...
- 使用JDK自带的MessageDigest计算消息摘要
使用JDK自带的MessageDigest计算消息摘要 上代码 /** * 使用JDK自带MessageDigest */ public class MessageDigestUtils { /** ...
- Photoshop制作雪碧图技巧
雪碧图,就是将网页制作中使用的多个小图片合并成一个图片,使用css技术将这张合成的图片应用在网页不同的地方. 雪碧图可以减少网页加载时的http请求数,优化网页性能. 步骤: a.使用Photosho ...