레디 스 : 오, 레디 스 지속성

1 개 레디 스 지속성

  레디 스 지속성, 즉, 메모리에 데이터를 영구적으로 디스크에 저장.

  두 가지 방법으로 레디 스 지속성 : RDB (레디 스 DB), AOF (AppendOnlyFile)

  레디 스 RDB는 지속성 지속성 AOF 동시에 사용할 수있다. 레디 스를 다시 시작할 때이 경우, 그것은 데이터 세트를 복원하는 AOF 파일의 사용에 우선 순위를 부여합니다 일반적으로 더 완전한 데이터 세트를 저장하는 것보다 저장된 파일 AOF 파일 RDB 데이터 세트 때문이다.

1.1 RDB (스냅 모드)

  기본적으로 dump.rdb라는 이름의 바이너리 파일에 저장 레디 스 데이터베이스 스냅 샷은 영구 정보 redis.conf 구성 파일을 수정하는 것이 가능하다.

wps6

  상기 적어도 하나의 갱신 된 데이터가 900 초 이내에 900 1 표시를 저장. 레디 스 하드 디스크에 데이터를 유지합니다

  레디 스 하드 디스크에 영구 데이터를 트리거합니다, (300) 10 (300)는 적어도 10 개 업데이트 된 데이터로 표현 저장

  60 만 60 초를 나타냅니다 저장 데이터는 레디 스 하드 디스크에 데이터를 지속성 트리거, 적어도 10,000 업데이트됩니다

1.1.1 전략

  (1) 자동 : BGSAVE

    구성 파일에 따른 실행 bgsave 조건이 만족된다;

    과정을 수신 비 차단, 레디 스 정상적인 서비스 클라이언트 요청;

    레디 스 민속 ()는 RDB 파일을 생성하기위한 새로운 자식 프로세스가 자식이 처리 알리는 부모 프로세스로 신호를 보낼 것이다 처리 한 것;

    부모 프로세스는 새로운 dump.rdb와 기존 파일을 대체합니다.

wps7

wps8

  (2) 매뉴얼 : SAVE

    클라이언트 (레디 스-CLI)는 SAVE 명령을 시작;

    레디 스 서비스 차단, 클라이언트 요청에 응답 할 수 없습니다;

    새로운 dump.rdb 이전 파일을 대체 만듭니다.

wps9

1.1.2 장점

  (1) 높은 효율;

  (2) AOF 큰 데이터보다 회복 속도가 빠르게 설정합니다.

1.1.3 단점

  (1)会丢失最近写入、修改的而未能持久化的数据;

  (2)folk过程非常耗时,会造成毫秒级不能响应客户端请求。

1.2 AOF(追加模式、文本重演)

1.2.1 特点

  Append only file,采用追加的方式保存,默认文件appendonly.aof;

  记录所有的写操作命令,在服务启动的时候使用这些命令就可以还原数据库;

  AOF默认关闭,需要在配置文件中手动开启。

wps10

wps11

wps12

wps13

1.2.2 写入机制

  说明:AOF机制,添加了一个内存缓冲区(buffer)。

    (1)将内容写入缓冲区

    (2)当缓冲区被填满、或者用户手动执行fsync、或者系统根据指定的写入磁盘策略自动调用fdatasync命令,才将缓冲区里的内容真正写入磁盘里。

    (3)在缓冲区里的内容未写入磁盘之前,可能会丢失。

1.2.3 写入磁盘的策略

  appendfsync选项,这个选项的值可以是always、everysec或者no

wps14

    Always:服务器每写入一个命令,就调用一次fdatasync,将缓冲区里面的命令写入到硬盘。这种模式下,服务器出现故障,也不会丢失任何已经成功执行的命令数据

    Everysec(默认):服务器每一秒重调用一次fdatasync,将缓冲区里面的命令写入到硬盘。这种模式下,服务器出现故障,最多只丢失一秒钟内的执行的命令数据

    No:服务器不主动调用fdatasync,由操作系统决定何时将缓冲区里面的命令写入到硬盘。这种模式下,服务器遭遇意外停机时,丢失命令的数量是不确定的,no 选项并不能给服务器性能带来多大的提升,而且也会增加系统奔溃时数据丢失的数量。

    运行速度:always的速度慢,everysec和no都很快

1.2.4 aof重写机制

  AOF文件过大,合并重复的操作,AOF会使用尽可能少的命令来记录。

1.2.4.1 重写过程

  (1)folk一个子进程负责重写AOF文件

  (2)子进程会创建一个临时文件写入AOF信息

  (3)父进程会开辟一个内存缓冲区接收新的写命令

  (4)子进程重写完成后,父进程会获得一个信号,将父进程接收到的新的写操作由子进程写入到临时文件中

  (5)新文件替代旧文件

  重写的本质:就是将操作同一个键的命令,合并。从而减小AOF文件的体积

wps15

1.2.4.2 aof重写触发机制

  (1)手动:

    客户端向服务器发送BGREWRITEAOF命令

  (2)自动:

    配置文件中的选项,自动执行BGREWRITEAOF命令

wps16

  auto-aof-rewrite-min-size <size>,

    触发AOF重写所需的最小体积:只要在AOF文件的体积大于等于size时,才会考虑是否需要进行AOF重写,这个选项用于避免对体积过小的AOF文件进行重写

  auto-aof-rewrite-percentage <percent>

    指定触发重写所需的AOF文件体积百分比:当AOF文件的体积大于auto-aof-rewrite-min-size指定的体积,并且超过上一次重写之后的AOF文件体积的percent %时,就会触发AOF重写。(如果服务器刚刚启动不久,还没有进行过AOF重写,那么使用服务器启动时载入的AOF文件的体积来作为基准值)。将这个值设置为0表示关闭自动AOF重写。

1.2.5 优点

  写入机制,默认fysnc(手工同步)每秒执行,性能很好不阻塞服务,最多丢失一秒的数据;

  重写机制,优化AOF文件;

  당신이 (FLUSHALL 등)을 잘못 사용하는 경우만큼 AOF을 덮어되지 않은, 당신은 FLUSHALL 실행하기 전에 상태로 설정 데이터를 복원 할 수 있습니다, 파일의 서비스 종료가 레디 스를 다시 시작 AOF FLUSHALL 명령을 제거 중지합니다.

1.2.6 단점

  동일한 데이터 집합 AOF 파일 크기는 RDB보다 크다;

  느린 (텍스트, 명령 반복) 이상의 RDB 데이터베이스 복구 속도.

추천

출처www.cnblogs.com/wozibi/p/11234042.html