第三节:Redis 的持久化之AOF 方式      

AOF方式:将以日志,记录每一个操作
 

优势:安全性相对RDB方式高很多;

劣势:效率相对RDB方式低很多;

1)AOF方式需要配置:

# Please check http://redis.io/topics/persistence for more information.

appendonly no

# The name of the append only file (default: "appendonly.aof")

appendfilename "appendonly.aof"

appendonly no默认关闭aof方式 我们修改成yes 就开启

下面那个是默认的aof文件名

# If unsure, use "everysec".

appendfsync always
# appendfsync everysec
# appendfsync no

这里是三种同步策略:

always 是 只要发生修改,立即同步 (推荐实用 安全性最高)

everysec 是 每秒同步一次

no是不同步

我们修改成always

2)保存退出,重新启动redis,然后随便加几个key

[root@bogon redis]# ll
总用量 52
drwxr-xr-x. 2 root root 134 3月 31 20:51 bin
-rw-r--r--. 1 root root 102 4月 1 11:44 dump.rdb
-rw-r--r--. 1 root root 46690 4月 1 11:47 redis.conf
[root@bogon redis]# bin/redis-server redis.conf
[root@bogon redis]# bin/redis-cli
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set test1 111
OK
127.0.0.1:6379> set test 222
OK
127.0.0.1:6379> shutdown save
not connected> exit
[root@bogon redis]# ll
总用量 56
-rw-r--r--. 1 root root 88 4月 1 11:49 appendonly.aof
drwxr-xr-x. 2 root root 134 3月 31 20:51 bin
-rw-r--r--. 1 root root 100 4月 1 11:49 dump.rdb
-rw-r--r--. 1 root root 46690 4月 1 11:47 redis.conf
[root@bogon redis]# rm -rf dump.rdb
[root@bogon redis]# ll
总用量 52
-rw-r--r--. 1 root root 88 4月 1 11:49 appendonly.aof
drwxr-xr-x. 2 root root 134 3月 31 20:51 bin
-rw-r--r--. 1 root root 46690 4月 1 11:47 redis.conf

这里就有一个appendonly.aof文件;

3)将appendonly.aof剪切到/root/目录下,启动后,发现数据没了:

[root@bogon redis]# ll
总用量 52
-rw-r--r--. 1 root root 88 4月 1 11:49 appendonly.aof
drwxr-xr-x. 2 root root 134 3月 31 20:51 bin
-rw-r--r--. 1 root root 46690 4月 1 11:47 redis.conf
[root@bogon redis]# mv appendonly.aof /root/
[root@bogon redis]# cd /root/
[root@bogon ~]# ll
总用量 1528
-rw-------. 1 root root 1269 3月 31 23:56 anaconda-ks.cfg
-rw-r--r--. 1 root root 88 4月 1 11:49 appendonly.aof
drwxrwxr-x. 6 root root 4096 7月 28 2017 redis-3.2.10
-rw-r--r--. 1 root root 1550261 7月 29 2017 redis-3.2.10.tar.gz
[root@bogon ~]# cd /usr/local/redis/
[root@bogon redis]# bin/redis-server redis.conf
[root@bogon redis]# bin/redis-cli
127.0.0.1:6379> keys *
(empty list or set)

4)aof方式恢复数据:将/root/appendonly.aof拷贝至/usr/local/redis/下面,再重新启动redis:

127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> shutdown
not connected> exit
[root@bogon redis]# ll
总用量 52
-rw-r--r--. 1 root root 0 4月 1 11:52 appendonly.aof
drwxr-xr-x. 2 root root 134 3月 31 20:51 bin
-rw-r--r--. 1 root root 77 4月 1 11:54 dump.rdb
-rw-r--r--. 1 root root 46690 4月 1 11:47 redis.conf
[root@bogon redis]# rm -rf appendonly.aof
[root@bogon redis]# cd /root/
[root@bogon ~]# ll
总用量 1528
-rw-------. 1 root root 1269 3月 31 23:56 anaconda-ks.cfg
-rw-r--r--. 1 root root 88 4月 1 11:49 appendonly.aof
drwxrwxr-x. 6 root root 4096 7月 28 2017 redis-3.2.10
-rw-r--r--. 1 root root 1550261 7月 29 2017 redis-3.2.10.tar.gz
[root@bogon ~]# cp appendonly.aof /usr/local/redis/
[root@bogon ~]# cd /usr/local/redis/
[root@bogon redis]# ll
总用量 56
-rw-r--r--. 1 root root 88 4月 1 11:55 appendonly.aof
drwxr-xr-x. 2 root root 134 3月 31 20:51 bin
-rw-r--r--. 1 root root 77 4月 1 11:54 dump.rdb
-rw-r--r--. 1 root root 46690 4月 1 11:47 redis.conf
[root@bogon redis]# bin/redis-server redis.conf
[root@bogon redis]# bin/redis-cli
127.0.0.1:6379> keys *
1) "test"
2) "test1"

我们发现 又有数据了

小结: 我们平时可以把aof文件定期备份 然后需要的时候 拷贝到redis下 重启即可;

峰Redis学习(8)Redis 持久化AOF方式的更多相关文章

  1. redis学习笔记——RDB和AOF持久化一

    为防止数据丢失,需要将 Redis 中的数据从内存中 dump 到磁盘,这就是持久化.Redis 提供两种持久化方式:RDB 和 AOF.Redis 允许两者结合,也允许两者同时关闭. RDB 可以定 ...

  2. redis学习系列——redis持久化

    1.写操作的流程 2.RDB快照-redis的第一个持久化策略 第一种是以快照的形式持久化到本地磁盘(RDB文件). 持久化策略是: 1.配置(save N M)在N秒内,redis至少发生M次修改, ...

  3. Redis学习笔记9--Redis持久化

    redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化.redis支持四种持久化方式,一是 Snapshotting(快照)也是默认方式:二是Appen ...

  4. Redis(5.0.0)持久化AOF和 RDB 结合源码分析

    主要是挖个坑.候补(代码还没看完..) https://github.com/antirez/redis/tree/5.0 一.Redis保存持久化文件 二.Redis启动加载持久化文件 src/se ...

  5. Redis学习笔记(一)-持久化

    一.RDB持久方式 RDB持久化是把当前进程的数据已快照的形式保存到硬盘的过程. 触发方式: 1.手动触发命令:save和bgsave save:阻塞式,内存较大的实例在执行过程中会造成长时间的阻塞, ...

  6. redis学习笔记——RDB和AOF持久化二

    上一篇对RDB的源码分析是比较多的,但是AOF持久化执行进行了一些理论上的分析和概念的说明.本来想自己偷一些懒,将上篇文章中最后所给链接的AOF实现代码随便过一过算了,后来也就是在过的过程中发现自己这 ...

  7. redis 学习(18)-- AOF

    redis -- AOF 什么是 AOF 通过日志方式将redis中的写命令进行日志记录,保存在硬盘文件中. 日志记录的实质是将写命令写在硬盘的缓冲区中,再根据相关策略把数据刷新到磁盘中. 当redi ...

  8. 09_Redis持久化——AOF方式

    [AOF简述] AOF(Append-only) Redis每次接受到一条改变数据的命令时,它会把该命令写到一个AOF文件中(只记录写操作,不记录读操作),当Redis启动时,它通过执行AOF文件中的 ...

  9. redis学习之——redis.conf配置(基本)文件学习

    # Redis configuration file example # Note on units: when memory size is needed, it is possible to sp ...

随机推荐

  1. HDU 2036 叉乘求三角形面积

    Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s) ...

  2. C# 后台获取API接口数据

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net ...

  3. Python字符编码转换

    编码回顾 在备编码相关的课件时,在知乎上看到一段关于Python编码的回答这哥们的这段话说的太对了,搞Python不把编码彻底搞明白,总有一天它会猝不及防坑你一把.不过感觉这哥们的答案并没把编码问题写 ...

  4. sourcetree删除github远程仓库文件

    sourcetree删除远程仓库的master分支文件步骤 第一步:删除本地远程仓库分支的所需要文件或者文件夹(本地和远程仓库同步) 第二步:回到sourcetree提交,推送 第三步:刷新远程仓库

  5. Vue.js系列之项目搭建

    项目搭建具体步骤如下: 1.安装node (中)https://nodejs.org/zh-cn/ (英)https://nodejs.org/en/ 2.安装cnpm镜像 (node自带安装了npm ...

  6. Vue的路由动态重定向和导航守卫

    一.重定向 重定向也是通过 routes 配置来完成,下面例子是从 /a 重定向到 /b: const router = new VueRouter({ routes: [ { path: '/a', ...

  7. goland 文件头注释

    打开GoLand的setting选项 依次选择Editor,CodeStyle ,File and Code Templates ,Go File 根据自己需要添加即可 /* @Time : ${DA ...

  8. MySQL Transaction--事务无法正常回滚导致的异常

    问题表现:系统增删改操作明显变慢(由原来的几十毫秒变为几十秒) 查看未提交事务 ## 查看未提交的事务 ## SELECT p.ID, P.USER, P.HOST, p.DB, P.TIME, T. ...

  9. Module Sources

    转自:https://www.terraform.io/docs/modules/sources.html 主要记录module source 的格式 The source argument in a ...

  10. What's New In Zeebe: Scaling Zeebe, New Client APIs, Faster Requests, Timestamps, NodeJS Client, and Default Topic is Back!

    Written by Daniel Meyer on May 16 2018 in the What's New In Zeebe category. Welcome to the first-eve ...