了解redis的朋友应该知道它有两种数据持久化的方式,这里我作一个简单的介绍,AOF(append only  file)和RDB.

1.RDB

这是一种比较常见的方式,采用 写时复制 的方式,效率高,速度快,介绍一下写时复制的机制:

当 Redis 需要保存 dump.rdb 文件时, 服务器执行以下操作:

  • Redis 调用 fork() ,同时拥有父进程和子进程。
  • 子进程将数据集写入到一个临时 RDB 文件中。
  • 当子进程完成对新 RDB 文件的写入时,Redis 用新 RDB 文件替换原来的 RDB 文件,并删除旧的 RDB 文件。

这种工作方式使得 Redis 可以从写时复制(copy-on-write)机制中获益。

这种机制使得RDB的速度非常得快,但是存在一些安全性问题,当我的redis服务因为某种原因宕了,当内存新增数据很庞大,子进程需要几分钟才能将临时文件书写完毕的时候。那么在宕机之后,这几分钟的数据很可能就丢失了。所以处于安全性考虑的原因,我会建议使用第二种方式,AOF机制。

2.AOF

aof采用一种fsync的方式进行持久化,相比RDB的方式会相对较慢。但是相对安全,甚至可以说是绝对安全的,取决于具体的配置。他不需要子进程进行协助,他是一种将有关写的命令append到文件的方式来记录redis的状态方式。aof也可以分为三种方式进行append。在此之前先打开appendonly的开关为yes.

appendfsync always  (每次向内存中执行写操作的时候,都执行一次fsync,相当安全,建议数据量不大的时候,又想保证数据安全性的情况下使用)

appendfsync  everysec (每秒进行一次fsync,中庸之道)

appendfsync no  (不建议使用)

我这里例举一下redis>2.2的由RDB切换到AOF的方式

[root@localhost redis-2.8.9]# redis-cli
127.0.0.1:6379> config set appendonly yes
OK
127.0.0.1:6379> config set save ""
OK
127.0.0.1:6379>

redis-cli进入redisShell客户端,然后开启aof ,关闭RDB方式。

记得修改 redis.conf里面的配置,不然下次重启还是使用原来的配置,读取dump.rdb进行恢复

配置修改如下:

   #save ""                                 save ""   

save 900 1                                  #save 900 1
save 300 10 ------------------> #save 300 10
save 60 10000 #save 60 10000

appendonly no             --------------------->  appendonly yes

备份文件有两种方式

一.RBD备份方式

1.执行save命令 ,找到dump.rdb(默认放到执行命令(redis-server)的路径下)

2.执行redis-server  redis.conf (如果配置文件选择的是RDB备份方式)

启动之后就ok了

二.AOF备份方式

1.找到appendonly.aof(默认放到执行命令(redis-server)的路径下)

2.执行redis-server redis.conf就可以了(如果配置文件选择的是AOF备份方式)

redis的备份的更多相关文章

  1. Redis实战——redis主从备份和哨兵模式实践

    借鉴:http://redis.majunwei.com/topics/sentinel.html     https://blog.csdn.net/u011784767/article/detai ...

  2. redis主从备份

    redis主从备份,默认是读写分离的,master用于写,slave用于读.slave的写只能用于存储一些短暂状态的变量,应为在下次同步时,会被移除. 配置主从备份原则:配从不配主,既只需修改从库配置 ...

  3. redis 主从备份自动切换+java代码实现类

    转载:http://blog.csdn.net/qq_23430789/article/details/52185706 目录(?)[-] redis-0sentinel实例之间的通讯端口 maste ...

  4. redis的备份和恢复

    Redis 数据备份与恢复 数据备份 语法 redis Save 命令基本语法如下: redis > SAVE 实例 redis > SAVE OK 该命令将在 redis 备份目录中创建 ...

  5. 单机部署redis主从备份

    redis为了避免单点故障,也支持主从备份.个人在做主从备份的实验时,因为机器数量有限,一般非常少有多台机器做支撑. 本文就将叙述怎样在一台电脑上实现redis的主从备份. 同一台机器上部署多个red ...

  6. Redis数据备份、安全、管理服务器笔记

    Redis 数据备份与恢复 Redis SAVE 命令用于创建当前数据库的备份. 实例 redis > SAVE OK 恢复数据 如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 ...

  7. redis 数据备份持久化方案

    本文链接:http://www.cnblogs.com/zhenghongxin/p/9050219.html 使用两种备份方案 备份方案选择RDB和AOF同时进行备份,必须打开AOF的持久化机制,除 ...

  8. [Redis] redis数据备份恢复与持久化

    数据库备份,使用save命令,将会在redis的安装目录中生成dump.rdb 例如:在我的目录下 redis/src/dump.rdb 使用命令config get dir,获取当前redis的安装 ...

  9. redis的备份恢复

    说明:默认rdb方式保存,redis支持主从和哨兵等,但是在某些情况下我们会单机跑,所以有时候我们就会需要设计到备份恢复 环境:原始redis:192.168.1.200 新redis:192.168 ...

随机推荐

  1. 深入学习golang(2)—channel

    Channel 1. 概述 “网络,并发”是Go语言的两大feature.Go语言号称“互联网的C语言”,与使用传统的C语言相比,写一个Server所使用的代码更少,也更简单.写一个Server除了网 ...

  2. ThinkBox DOC

    插件源码下载 @github https://github.com/Aoiujz/ThinkBox.git 插件使用方法 引入文件 //使用ThinkBox弹出框必须引入以上三个文件. //jQuer ...

  3. 分享自己写的一个小工具RGB转十六进制(高手勿喷)

    由于工作经常美工给的颜色是rgb,而我们网页里面是16进制.网上也有很多类型的工具.不过似乎都用浏览器打开.没网就不爽了 实现也很简单.代码已经共享了 http://git.oschina.net/w ...

  4. PayPal 高级工程总监:读完这 100 篇文献,就能成大数据高手

    原文地址 开源(Open Source)对大数据影响,有二:一方面,在大数据技术变革之路上,开源在众人之力和众人之智推动下,摧枯拉朽,吐故纳新,扮演着非常重要的推动作用:另一方面,开源也给大数据技术构 ...

  5. clearfix清除浮动进化史

    我想大家在写CSS的时候应该都对清除浮动的用法深有体会,今天我们就还讨论下clearfix的进化史吧. clearfix清除浮动 首先在很多很多年以前我们常用的清除浮动是这样的. .clear{cle ...

  6. Android--ColorMatrix改变图片颜色

    前言 本篇博客讲解如何通过改变图片像素点RGB的值的方式,在Android中改变图片的颜色.在最后将以一个简单的Demo来作为演示. 本篇博客的主要内容: ColorMatrix 使用ColorMat ...

  7. 突然顿悟的Javascript中的this

    一直对Javascript中的this都有一种似是而非的感觉,今天突然感觉豁然开朗,特此记录一下. 咱们先看个栗子: <!DOCTYPE html> <html> <he ...

  8. Java socket 多线程编程 示例

    参照网上代码: 1.工程: 2.代码: Client.java package com.my.socket.test; import java.io.BufferedReader; import ja ...

  9. 仿网易漂亮的TAB选项卡(标签)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. 用飞信监控GoldenGate进程

    监控GoldenGate进程 1)         在goldengate安装目录下建立文件ogginfo $vim ogginfo  info all 2)         配置飞信报警       ...