0
点赞
收藏
分享

微信扫一扫

RDB-AOF实操

at小涛 2022-03-14 阅读 160

RDB-AOF实操

🐯温馨提示🐯:本文中有关于Redis配置文件路径等需按自己个人服务器实际路径为准 !!!

  • 查看后台是否运行了Redis服务

    ps -ef | grep redis
    

    在这里插入图片描述

  • 停止所有Redis服务

    service redis_6379 stop
    
  • 保证后台没有任何Redis服务在运行

    ps -ef | grep redis
    

    在这里插入图片描述

  • 为了方便观看日志,我们需要将Redis设置为前台服务形式,需要将daemonize配置关掉,将日志文件配置关掉,让日志显示在前台

    vi /etc/redis/6379.conf
    
    • 找到GENERAL模块,将daemonize yes改为daemonize no

    • logfile /var/log/redis_6379.log配置注释掉#logfile /var/log/redis_6379.log

      在这里插入图片描述

    • 暂时关闭RDB+AOF混合(v4.0后新特性),将aof-use-rdb-preamble yes修改为aof-use-rdb-preamble no
      在这里插入图片描述

    • 清除一下相关文件

      cd /var/lib/redis/6379/
      
      ls
      

      在这里插入图片描述

    • 删除dump.rdb文件包括其他文件(如果有的话)

      rm -rf ./*
      
    • 经过一番设置清理,还原了一个干净的服务

  • 再开一个窗口来启动Redis

    redis-server /etc/redis/6379.conf
    
  • 回到刚刚的窗口中,我们刚清完的那个文件夹中,查看文件列表

    ls -ll 
    
  • 我们发现没有再生成dump.rdb文件了

    在这里插入图片描述

  • 而此时查看appendonly.aof文件,其中内容都是空的,因为这时还没有发生任何操作

    在这里插入图片描述

  • 接下来我们再打开一个新窗口,用来做连接Redis的客户端

    redis-cli -a 密码
    
  • 此时我们就开了三个窗口分别干三件不同的事情

    在这里插入图片描述

  • 我们在客户端进行key set操作

    127.0.0.1:6379> set k1 hello
    OK
    
  • 重新打开appendonly.aof文件查看,此时已经记录了刚才执行的操作

    在这里插入图片描述

  • 那现在我想把这个存储到rdb文件中应该怎么操作?

    	127.0.0.1:6379> bgsave
    	Background saving started
    
    • 我们切回到Linux指令窗口查看文件列表,多出了dump.rdb文件

      在这里插入图片描述

    • 再切到Redis服务窗口可以看到输出了RDB操作日志

      在这里插入图片描述

    • 用vi暴力查看dump.rdb文件内容

      vi dump.rdb
      

      在这里插入图片描述

    • 但是这个内容好像咱也看不懂啊对吧?那怎么让他显示成我们能看懂的内容呢?

      redis-check-rdb dump.rdb

      [root@rhys 6379]# redis-check-rdb dump.rdb 
      
      #检查dump.rdb这个文件
      [offset 0] Checking RDB file dump.rdb
      [offset 26] AUX FIELD redis-ver = '6.0.6'
      [offset 40] AUX FIELD redis-bits = '64'
      [offset 52] AUX FIELD ctime = '1647165322'
      [offset 67] AUX FIELD used-mem = '874864'
      [offset 83] AUX FIELD aof-preamble = '0'
      [offset 85] Selecting DB ID 0
      [offset 107] Checksum OK
      [offset 107] \o/ RDB looks OK! \o/
      #有1个key
      [info] 1 keys read
      #设置了过期时间的key个数
      [info] 0 expires
      #已经过期的有几个
      [info] 0 already expired
      
    • AOF重写

      127.0.0.1:6379> set k1 aaa
      OK
      127.0.0.1:6379> set k1 bbb
      OK
      127.0.0.1:6379> set k1 ccc
      OK
      

      在这里插入图片描述

      • 切到Redis客户端窗口执行BGREWRITEAOF指令

        127.0.0.1:6379> BGREWRITEAOF
        Background append only file rewriting started
        
      • 再切到Linux指令窗口查看一下重写后的AOF文件大小

        在这里插入图片描述

  • 接下来我们再来看看v4.0以后RDB+AOF混合的新特性

  • Ctrl+C退出当前Redis服务

  • Exit退出当前Redis客户端

  • 清除appendonly.aofdump.rdb文件

    rm -rf /var/lib/redis/6379/*
    
  • 将配置文件中RDB+AOF混合再开启,将aof-use-rdb-preamble no修改为aof-use-rdb-preamble yes

    vi /etc/redis/6379.conf
    

    在这里插入图片描述

  • 重启Redis服务

    redis-server /etc/redis/6379.conf
    
  • 重新开启Redis客户端

    redis-cli -a 密码
    
  • 查看appendonly.aof文件

    vi appendonly.aof 
    

    在这里插入图片描述

  • 此时到Redis客户端执行BGREWRITEAOF指令

      127.0.0.1:6379> BGREWRITEAOF
     Background append only file rewriting started
    
  • 重新打开appendonly.aof文件查看

    在这里插入图片描述

  • 那什么是增量追加日志呢?

  • 再次打开appendonly.aof文件查看

    在这里插入图片描述

  • 这就是我们所说的增粮日志+全量时点数据

  • 咱们再来落一个RDB对比一下AOF

  • 查看Linux指令窗口中的文件列表

    在这里插入图片描述

  • 再来看appendonly.aof文件和dump.rdb内容

    vi appendonly.aof
    

    在这里插入图片描述

    vi dump.rdb 
    

    在这里插入图片描述

  • 🐯结尾语🐯:本期RDB/AOF实操教程就到这里了

    🐯Redis系列🐯:

    ✔ Redis单机安装详细图文教程

    ✔ 布隆过滤器安装

    ✔ Redis持久化机制

    举报

    相关推荐

    0 条评论