Redis系列七:redis持久化

redis支持RDB和AOF两种持久化机制,持久化可以避免因进程退出而造成数据丢失

一、RDB持久化

RDB持久化把当前进程数据生成快照(.rdb)文件保存到硬盘的过程,有手动触发和自动触发 手动触发有save和bgsave两命令 save命令:阻塞当前Redis,直到RDB持久化过程完成为止,若内存实例比较大会造成长时间阻塞,线上环境不建议用它 bgsave命令:redis进程执行fork操作创建子线程,由子线程完成持久化,阻塞时间很短(微秒级),是save的优化,在执行redis-cli shutdown关闭redis服务时,如果没有开启AOF持久化,自动执行bgsave; 显然bgsave是对save的优化。

bgsave

RDB文件的操作

   命令:config set dir /usr/local  //设置rdb文件保存路径

   备份:bgsave  //将dump.rdb保存到usr/local下

   恢复:将dump.rdb放到redis安装目录与redis.conf同级目录,重启redis即可

   优点:1,压缩后的二进制文文件适用于备份、全量复制,用于灾难恢复

              2,加载RDB恢复数据远快于AOF方式

   缺点:1,无法做到实时持久化,每次都要创建子进程,频繁操作成本过高

              2,保存后的二进制文件,存在老版本不兼容新版本rdb文件的问题

二、AOF持久化

RDB

redis.confyes  (

appendfilename "appendonly.aof"   

      

    1

         2

         3

         4

AOF

AOF

appendonly yes     //

# appendfsync always //

appendfsync everysec //

# appendfsync no    //

no-appendfsync-on-rewrite  yes  //

auto-aof-rewrite-percentage 100  //aof

auto-aof-rewrite-min-size 64mb   //aof

如何从AOF恢复?

1.

2.

3.

redis重启时恢复加载AOF与RDB顺序及流程:

1

2

3

4

相关文章

文章浏览阅读1.3k次。在 Redis 中,键(Keys)是非常重要的概...
文章浏览阅读3.3k次,点赞44次,收藏88次。本篇是对单节点的...
文章浏览阅读8.4k次,点赞8次,收藏18次。Spring Boot 整合R...
文章浏览阅读978次,点赞25次,收藏21次。在Centos上安装Red...
文章浏览阅读1.2k次,点赞21次,收藏22次。Docker-Compose部...
文章浏览阅读2.2k次,点赞59次,收藏38次。合理的JedisPool资...