简介:

Redis AOF 持久化,将每次接收到更改 redis 数据的操作都记录到一个 aof 文件,当服务器意外宕机或 redis 服务器非法关闭时,不会丢失数据。

可以做到数据安全化,但是性能会受到影响。

1、修改 redis.conf

shell > vim /usr/local/redis/redis.confdaemonize yes
port 6379
timeout 300
loglevel debug
pidfile /usr/local/redis/logs/redis.pid
logfile /usr/local/redis/logs/redis.logdatabases 16#save 900 1
#save 300 10
#save 60 10000
#rdbcompression yes
#dbfilename dump.rdb## 关闭 RDB 持久化dir /usr/local/redis/data/appendonly yes
appendfilename appendonly.aof
appendfsync everysec## 开启 AOF 持久化,定义 aof 文件名,定义同步磁盘规则为每秒强制同步no-appendfsync-on-rewrite yes
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb## 由于 AOF 的特性是记录每次操作,当客户端执行相同的操作时,aof 也会记录这些相同的每次操作,那么 aof 文件会不断增加。## 对于这个问题,可以使用 aof 文件的重写功能解决 aof 文件的增长。当 aof 文件满足一定条件时就对 aof 进行重写,重写是根据当前内存数据库中的数据进行遍历到一个临时的 aof 文件,写完后替换原来的 aof 文件。## no-appendfsync-on-rewrite 参数表示在重写期间对新接收到的写操作不同步,暂时存在内存中,等重写完后再写入,防止与磁盘 IO 冲突。
## auto-aof-rewrite-percentage 参数表示 aof 文件增长率大于这个值并且同时 aof 文件大于下面参数值时,触发 aof rewrite
## auto-aof-rewrite-min-size 参数表示当前 aof 文件大小大于这个值时

2、测试 Redis AOF 持久化

shell > redis-server /usr/local/redis/redis.confshell > ls /usr/local/redis/data/
appendonly.aof

## 生成一个 .aof 的空文件

shell > redis-cli
redis 127.0.0.1:6379> set name wang
OK
redis 127.0.0.1:6379> get name
"wang"
redis 127.0.0.1:6379> set name1 zhao
OK
redis 127.0.0.1:6379> get name1
"zhao"
redis 127.0.0.1:6379> set name2 lun
OK
redis 127.0.0.1:6379> get name2
"lun"
redis 127.0.0.1:6379> quitshell > cat /usr/local/redis/data/appendonly.aof
*2
$6
SELECT
$1
0
*3
$3
set
$4
name
$4
wang
*3
$3
set
$5
name1
$4
zhao
*3
$3
set
$5
name2
$3
lun

## 记录了每一次操作

shell > kill -9 `cat /usr/local/redis/logs/redis.pid`

## 像测试 RDB 一样,非法关闭 redis

shell > redis-server /usr/local/redis/redis.confshell > redis-cli
redis 127.0.0.1:6379> get name
"wang"
redis 127.0.0.1:6379> get name1
"zhao"
redis 127.0.0.1:6379> get name2
"lun"
redis 127.0.0.1:6379> quit

## 启动测试 keys/value 都存在。
## 建议使用 AOF 持久化的同时也使用 RDB 半持久化,AOF 的优先级是高于 RDB 的,也就是说启动服务时是先加载 AOF ,后加载 RDB 的。
## 当 Redis 服务器磁盘坏掉时,数据如何保证不丢失? Master / slave 的方式解决!

转载于:https://www.cnblogs.com/wangxiaoqiangs/p/5640018.html

Redis AOF 全持久化相关推荐

  1. redis aof日志持久化和key设计原则

    一.aof的配置         1.将appendonly改为yes开启aof功能 2.appendfsync:选择同步的方式 3. 二.key的设计原则 1.sinter [key:value]. ...

  2. 转-Redis AOF 持久化详解

    转自: https://juejin.cn/post/6844903902991630349 Redis AOF 持久化详解 Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据 ...

  3. 进阶的Redis之数据持久化RDB与AOF

    2019独角兽企业重金招聘Python工程师标准>>> 大家都知道,Redis之所以性能好,读写快,是因为Redis是一个内存数据库,它的操作都几乎基于内存.但是内存型数据库有一个很 ...

  4. Redis提供的持久化机制(RDB和AOF)

    Redis提供的持久化机制 Redis是一种面向"key-value"类型数据的分布式NoSQL数据库系统,具有高性能.持久存储.适应高并发应用场景等优势.它虽然起步较晚,但发展却 ...

  5. Redis的RDB持久化和AOF持久化区别

    RDB机制的优势和略施 RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘. 也是默认的持久化方式,这种方式是就是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb ...

  6. NoSQL之Redis非关系数据库(redis概述,持久化,RDB持久化,AOF持久,内存碎片)

    关系型数据库与非关系型数据库 关系型数据库与菲关系型数据库 关系型数据库 非关系型数据库 非关系型数据库产生背景 Redis简介 Redis配置文件 Redis的安装 安装环境 Redis数据库常用命 ...

  7. redis aof持久化遇到的Can't open the append-only file Permissi

    redis aof持久化生成的默认文件appendonly.aof 默认只读属性. redis重启启动加载数据的时候会提示 :Can't open the append-only file: Perm ...

  8. redis aof 备份和恢复_Redis 持久化机制的介绍,了解这些流程很重要

    我们已经知道对于一个企业级的redis架构来说,持久化是不可减少的. 企业级redis集群架构:海量数据.高并发.高可用 持久化主要是做灾难恢复,数据恢复,也可以归类到高可用的一个环节里面去,比如你r ...

  9. redis 系列17 持久化 AOF

    redis 系列17 持久化 AOF 原文:redis 系列17 持久化 AOF 一.概述 除了上篇介绍的RDB持久化功能之外,Redis还提供了AOF(Append Only File)持久化功能. ...

最新文章

  1. mongodb中简单的聚合查询
  2. WPF入门:数据绑定
  3. 2016百度之星 - 初赛(Astar Round2B)解题报告
  4. 微信小程序lottiejs动画事例代码
  5. LINQ:进阶 - LINQ 标准查询操作概述
  6. 随想录(windows上cuda环境安装)
  7. electron入门笔记(三)- 引入bootstrap
  8. python免费ocr软件_实用工具 | 6款免费OCR神器,总有一款适合你!
  9. 【深度学习】训练集、测试集和验证集
  10. 美剧深度扫盲:有线电视台之风起云涌--之一(转载)
  11. 那些花儿那片笑声让我想起我的那些花儿在我生命每个角落静静为我开着我曾...
  12. android 清理后自动重启,解决Android后台清理APP后,程序自动重启的问题
  13. ZCU104开发板:开发板介绍1
  14. python1300_相机选型器 : PYTHON 1300-NOIP1SN1300A-QDI
  15. 监狱筹建牌竖近2年 未告知民众关押病犯遭质疑
  16. Maven命令行查看依赖树
  17. 中国红客联盟lion给大家的一封信
  18. SATA协议OOB随笔
  19. C语言编程实现冰雹猜想的算法,并测算各个自然数到达4-2-1谷底(即N等于4,2,1结束后)所经过的变换次数。
  20. Vue01 | el-autocomplete远程搜索下拉框并实现自动填充

热门文章

  1. tablepc是什么平板电脑_54位平板电脑充电柜长什么样?安和力
  2. 爬虫学习笔记(四)—— urllib 与 urllib3
  3. 小程序onload_小程序生命周期-基础篇
  4. 语音识别系列1:语音识别Speech recognition综述
  5. 人工智能:自由能理论,AI未来的数学模型
  6. java在mac下开发环境_Java开发环境安装(MacOS、Windows)
  7. .bak 服务器备份文件,如何从SQL Server Management Studio中的多个备份(bak)文件还原数据库...
  8. mysql怎么升级_MySQL UPDATE 更新
  9. 企业付款到零钱 java_微信支付商户如何开通企业付款到零钱?
  10. 第七讲:用户和用户组管理