[Redis学习教程3]之Redis的快照持久化和AOF持久化

 Redis   高蒙   阅读(2029)   评论(0)   2016-02-17 16:45:53    Redis教程 Redis持久化功能 Redis快照持久化 Redis AOF持久化 


Redis为了内部数据的安全考虑,会把本身的数据以文件形式保存到硬盘中一份,在服务器重启之后会自动把硬盘的数据回复到内存(redis)里面。数据保存到硬盘的过程就称为“持久化”。

一、snap shotting 快照持久化

    该持久化默认开启,一次性把redis的所有数据全部保存到硬盘中一份。如果数据非常多(10G-20G)就不适合频繁进行该持久化操作。

    默认保存文件:dumo.rdb。

    redis.conf配置:

    1、快照保存规律:(增,删,改)不包括查询。

    save 900s 1K     900内有1K发生修改,快照就保存。

    save 300s 10K    300内有10K发生修改,快照就保存。

    save 60s  10000K 1000内有10000K发生修改,快照就保存。

    以上三个save的意思:

    数据修改的频率高,备份的频率也高。

    数据修改的频率低,备份的频率也低。

    2、dbfilename dump.rdb  备份文件的名称

    3、dir ./               备份文件的地址

二、手动发起快照持久化

    1、手动进行快照持久化

    指令:./redis.cli bgsave

三、append only file (AOF持久化,精细持久化) 

    1、本质:把用户执行的每个“写”指令(添加,修改,删除)都备份到文件中,还原数据的时候就是执行具体写指令而已。

    2、开启AOF持久化(会清空redis之前的数据)

      redis.conf配置文件

        1).appendonly no -> appendonly yes

        2).去掉 appendfilename appendonly.aof 前面 # 开启保存文件

        3).配置文件被修改,需要删除旧进程;再根据新进程配置文件,启动新进程。

   ps -A | grep redis           查看进程

   kill -9 7287                 停止进程

   ./redis-server redis.conf    启动进程

4).新进程启动完毕之后,可以在看到设置指定保存路径里面多了aooendonly.aof文件。

     3、redis的持久化方式 (redis.conf配置文件中)
 
       appendfaync always     // 每次收到写的指令就立即的强制写入磁盘,最慢,不推荐使用。

       appendfaync ecerysec   // 每秒强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐。(默认)

       appendfaync no         // 完全依赖os,性能最好,持久化没保证。不推荐。

    4、为aof备份文件做优化处理

    例如:多个set变成一个set指令

    指令:./redis-cli barewriteaof 压缩aof备份文件的大小 

22.jpg

四、redis持久化相关的指令

    1.bgsave 异步保存数据到磁盘。(快照持久化)

    2.lastsave 返回上次成功保存到磁盘的Unix时间戳。

    3.shutdown 同步保存到服务器并关闭redis服务器。

    4.bgrewriteaof 当日志文件过长时,优化aof日志文件存储。

    5. ./redis-cli bgrewriteaof

    6. ./redis-cli bgsave

    7. ./redis-cli -h 127.0.0.1 -p 6379 bgsave // 手动发起快照

 快照持久化和AOF持久化是相辅相成的,在数据还原的时候,将快照持久化和AOF持久化都要进行数据还原。




相关文章



我要评论


站长昵称:(*)

输入内容:


评论列表


高蒙

男,程序猿一枚

 

人生要是没有理想, 那跟一条咸鱼有什么分别。


关于我

  http://www.shuchengxian.com

高蒙个人博客是以PHP技术为主的程序员个人博客。博客主要发布php开发中遇到的问题以及解决办法,同时个人博客也分享网站模板素材,jquery插件等方面素材。


站点声明:相关侵权、举报、投诉及建议等,请发E-mail:936594075#qq.com(#替换成@)。

Copyright © 2018, www.shuchengxian.com, All rights reserved. 个人博客皖公网安备 34152302000022号 皖ICP备15015490号

关键词:个人博客,PHP博客,PHP博客程序,高蒙博客,高蒙个人博客,php程序员博客,程序员个人博客