三,温习redis持久化解析与配置

                    Redis持久化

  redis是一种高级键值对数据库,支持的数据类型很丰富,有字符串,链表,集合和有序集合,可以称之为数据结构数据库

  Redis所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(半持久化)

  如果没有配置持久化,redis重启后数据就会全消失,redis提供两种方式:一种是RDB持久化(原理是将 redis在内存中的数据库记录定时DUMp到磁盘上)另一种是AOF(原理是将redis操作日志追加的方式写入文件)

                    RDB  &  AOF

RDB持久化是☞指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作是FORK一个子进程,先将数据写入临时文件,写入成功后,再替换以前的文件,用二进制压缩存储(如图:)

 AOF以日志形式记录每一个操作,查询操作不会记录,以文本的方式记录,可以打卡文件看到记录(如图:)

简单理解:

  一个就是定时写入DUMP

  一个是实时写入/bin/log  

                                                                    两者优缺点

RDB

   通过备份策略一旦出现故障,容易恢复

          性能最大化

          启动效率高

          定时备份在做还原时可能会造成一部分数据丢失

          如果数据集大,由于是通过子进程来完成备份,可能会停止服务器几秒钟来缓解压力

AOF:

   有更高的数据安全型

   如果日志过大,可以创建新文件来保障数据安全性

   恢复速度不如RDB

   AOF在运行效率上往往慢于RDB

             简单来说,就是看需要是高性能还是高持久性来选择

(1)RDB配置

打开6379.conf文件,搜索save,可以看到三条信息(默认配置是打开的)

  save 900 1              #15分钟内key1个变化,则dump内存快照

  save 300 10             #5分钟内key10个变化,则dump内存快照

  save 60 10000           #1分钟内key10000个变化,则dump内存快照

#可根据需要配置这三条信息

 

(2)AOF配置

打开6379.conf文件,搜索appendfsync ,可以看到三条信息

修改最上面一行打开,第二行注释掉

   appendfsync always     

  #appendfsync everysec    

  # appendfsync no       

指定备份后的日志文件

      # The name of the append only file (default: "appendonly.aof")   

      appendfilename "appendonly.aof"

    

原文地址:https://www.cnblogs.com/123456likun/p/13841540.html