우리 모두 알다시피, Redis는 메모리에 데이터를 저장하므로 읽기 속도가 빨라지고 데이터 보안에 새로운 문제가 발생합니다. 즉, Redis가 위치한 서버가 다운되면 모든 데이터가 삭제됩니다. Redis 데이터베이스가 손실됩니다.
이 문제를 해결하기 위해 redis는 지속성 기능을 제공합니다. 일반인의 관점에서 이는 메모리에 있는 데이터를 하드 디스크에 쓰는 것을 의미합니다.
Redis는 다양한 수준의 지속성 방법을 제공합니다.
1 RDB 지속성은 지정된 시간 간격 내에 데이터 세트의 특정 시점 스냅샷을 생성할 수 있습니다.
2. AOF는 서버에서 실행되는 모든 쓰기 작업 명령을 지속적으로 기록하고, 서버가 시작될 때 이러한 명령을 다시 실행하여 데이터 세트를 복원합니다. AOF 파일의 모든 명령은 Redis 프로토콜 형식으로 저장되며, 파일 끝에 새로운 명령이 추가됩니다. Redis는 AOF 파일의 크기가 데이터 세트 상태를 저장하는 데 필요한 실제 크기를 초과하지 않도록 백그라운드에서 AOF 파일을 다시 작성할 수도 있습니다.
3. Redis는 AOF 지속성과 RDB 지속성을 동시에 사용할 수도 있습니다. 이 경우 Redis가 다시 시작되면 AOF 파일을 사용하여 데이터 세트를 복원하는 데 우선 순위가 부여됩니다. 왜냐하면 AOF 파일에 저장된 데이터 세트는 일반적으로 RDB 파일에 저장된 데이터 세트보다 더 완전하기 때문입니다.
4. 지속성 기능을 끕니다. 데이터는 메모리에만 존재하게 하고, 재시작 후에는 사라집니다.
Redis의 RDB 지속성(RDB는 기본적으로 활성화되어 있음)
1.스냅샷:
기본적으로 Redis는 데이터 세트의 스냅샷을 dump.rdb 파일에 덤프합니다. 또한 구성 파일을 통해 Redis 서버 덤프 스냅샷의 빈도를 수정할 수도 있습니다. redis.conf 파일을 연 후 save를 검색하면 다음 구성 정보를 볼 수 있습니다.
save 900 1 #at 900초(15 분) 이후 키가 1개 이상 변경되면 메모리 스냅샷을 덤프합니다.
save 300 10 #300초(5분) 후 10개 이상의 키가 변경된 경우 메모리 스냅샷을 덤프합니다.
save 60 10000 #60초(1분) 후 10000개 이상의 키가 변경된 경우 메모리 스냅샷을 덤프합니다.
2. 덤프 스냅샷 메커니즘:
1) Redis는 하위 프로세스를 먼저 포크합니다.
2) 하위 프로세스는 스냅샷 데이터를 임시 RDB 파일에 씁니다.
3) 하위 프로세스가 데이터 쓰기 작업을 완료하면 이전 파일을 임시 파일로 바꿉니다.
위 내용은 Redis 지속성은 기본적으로 활성화되어 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!