redis持久化 RDB与AOF

redis持久化 RDB与AOF

RDB与AOF区别

  • rdb: 基于快照的持久化,速度更快,一般用做备份,主从复制也是依赖于rdb持久化功能
  • aof:以追加的方式记录redis操作日志的文件,可以最大程度的保证redis数据的安全

RDB

前言

  • 前言
    • Redis是一种内存型数据库,一旦服务器进程退出,数据库的数据就会丢失,为了解决这个问题,Redis提供了两种持久化的方案,将内存中的数据保存到磁盘中,避免数据的丢失。
  • RDB持久化
    • 基于内存的数据快照
    • 定期执行数据快照
    • 手动触发数据快照

RDB实践

  • redis安装链接:https://www.cnblogs.com/yuncong/p/10259211.html

  • 在配置文件中,添加rdb持久化参数

    # 新建配置文件redis-6379.conf
    touch redis/conf/redis-6379.conf
    # 编辑
    vim redis/conf/redis-6379.conf
    
    # 写入内容
    port 6379   		
    daemonize yes 		  
    pidfile /data/6379/redis.pid
    loglevel notice		
    logfile "/data/6379/redis.log"
    dir /data/6379							  #定义持久化文件存储位置
    protected-mode yes 
    dbfilename  dbmp.rdb
    save 900 1							#rdb机制 每900秒 有1个修改记录
    save 300 10 						#每300秒        10个修改记录
    save 60 10000						#每60秒内        10000修改记录
    
    # 注意路径问题,不要将备注也复制进去,
    

    注意:如果报存储文件没有,根据你自己写的路径自己创建

  1. 启动redis服务端

    redis-server redis-6379.conf
    
  2. 登录redis设置key

    redis-cli -p 6379 -a xxx
     # -p  端口号   -a 设置的密码
    # 如果没输入密码,登录之后
    auth 密码
    
  3. 此时检查目录,/data/6379底下没有dbmp.rdb文件

  4. 通过save触发持久化,将数据写入RDB文件

    127.0.0.1:6379> set age 18
    OK
    127.0.0.1:6379> save
    OK
    

AOF

前言

  • AOF(append-only log file)
    记录服务器执行的所有变更操作命令(例如set del等),并在服务器启动时,通过重新执行这些命令来还原数据集
    AOF 文件中的命令全部以redis协议的格式保存,新命令追加到文件末尾。
    优点:最大程序保证数据不丢
    缺点:日志记录非常大

配置

  1. 配置文件

    # 新建配置文件redis-6379.conf
    touch redis/conf/redis-6379.conf
    # 编辑
    vim redis/conf/redis-6379.conf
    # 参数
    daemonize yes
    port 6379
    logfile /data/6379/redis.log
    dir /data/6379
    dbfilename  dbmp.rdb
    requirepass redhat
    save 900 1
    save 300 10
    save 60  10000
    appendonly yes
    appendfsync everysec
    

    参数解析

    appendonly yes
    appendfsync  always    总是修改类的操作
                 everysec   每秒做一次持久化
                 no     依赖于系统自带的缓存大小机制
    
  2. 启动redis

    redis-server redis-6379.conf
    
  3. 检查redis数据目录/data/6379/是否产生了aof文件

    ls /data/6379/
    
  4. 登录redis-cli,写入数据,实时检查aof文件信息

    # 新开一个窗口,观察aof文件信息
    tail -f appendonly.aof
    
    
    # 登录redis-cli
    redis-cli -p 6380 -a xxx
    
    # -p  端口号   -a 设置的密码
    # 如果没输入密码,登录之后
    auth 密码
    
posted @ 2019-01-19 22:50  云丛  阅读(204)  评论(0编辑  收藏  举报