Redis Persistence (RDB 스냅 샷, AOF)를 어떻게 구성합니까?
Redis Persistence (RDB 스냅 샷, AOF)를 어떻게 구성합니까?
redis persistence를 구성하려면 RDB (Redis Database) 스냅 샷과 AOF (파일 만 추가)를 모두 고려해야합니다. 각각을 구성하는 방법은 다음과 같습니다.
RDB 스냅 샷 :
-
RDB 활성화 : 기본적으로 RDB가 활성화됩니다.
redis.conf
파일에서 구성 할 수 있습니다. 스냅 샷 주파수를 설정하려면save
으로 시작하는 줄을 찾으십시오.<code>save 900 1 save 300 10 save 60 10000</code>
로그인 후 복사이 라인은 다음 조건 중 하나가 충족되면 Redis가 데이터 세트를 디스크에 저장한다는 것을 의미합니다.
- 900 초 (15 분)가 통과되었고 최소 1 개의 키가 변경되었습니다.
- 300 초 (5 분)가 통과되었고 최소 10 개의 키가 변경되었습니다.
- 60 초 (1 분)가 통과되었고 최소 10,000 개의 키가 변경되었습니다.
-
파일 이름 및 위치 :
redis.conf
에서 파일 이름과 경로를 설정할 수도 있습니다.<code>dbfilename dump.rdb dir /var/lib/redis</code>
로그인 후 복사 -
압축 : 디스크 공간을 저장하기 위해 RDB 파일을 압축 할 수 있습니다. 구성에서이를 활성화 또는 비활성화합니다.
<code>rdbcompression yes</code>
로그인 후 복사로그인 후 복사
AOF (파일 만 추가) :
-
aof : aof는 기본적으로 비활성화되었습니다. 이를 가능하게하려면
redis.conf
에서appendonly
yes
로 설정하십시오.<code>appendonly yes</code>
로그인 후 복사 -
파일 이름 및 위치 : RDB와 유사하게 파일 이름 및 경로를 설정할 수 있습니다.
<code>appendfilename "appendonly.aof" dir /var/lib/redis</code>
로그인 후 복사 -
AOF Rewrite : Redis가 다시 쓰기를 수행 할 때 제어하려면
auto-aof-rewrite-percentage
및auto-aof-rewrite-min-size
사용하십시오.<code>auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb</code>
로그인 후 복사로그인 후 복사이러한 설정은 현재 AOF 파일이 마지막 재 작성보다 100% 더 크고 크기가 64MB 이상인 경우 AOF 재 작성이 트리거된다는 것을 의미합니다.
-
fsync 정책 :
appendfsync
설정은 Redis가 디스크에 데이터를 얼마나 자주 작성하는지 제어합니다.<code>appendfsync everysec</code>
로그인 후 복사로그인 후 복사옵션에는
always
,everysec
및no
포함됩니다.everysec
성능 및 데이터 안전 균형을 유지하는 일반적인 선택입니다.
redis persistence에 대한 RDB 대 AOF를 선택하는 성능은 무엇입니까?
Redis Persistence를 위해 RDB와 AOF를 선택하면 여러 가지 방법으로 성능에 영향을 미칩니다.
RDB :
- 성능 영향 : RDB 스냅 샷은 일반적으로 정의 된 간격으로 대량으로 데이터를 작성하기 때문에 정기적 인 작동 중에 자원 집약적이지 않습니다. 이는 Redis가 모든 쓰기 명령에 대해 I/O 작업을 수행 할 필요가 없음을 의미합니다.
- 복구 시간 : 전체 데이터 세트가 한 번에 메모리에로드되므로 RDB 스냅 샷은 복구하는 데 시간이 덜 걸립니다.
- 데이터 안전 : RDB는 데이터 내구성 측면에서 덜 안전합니다. 스냅 샷 사이에 Redis가 충돌하면 마지막 저장 지점에서 데이터를 잃을 수 있습니다.
aof :
-
성능 영향 : AOF는 모든 쓰기 작업을 기록하기 때문에 더 자주 리소스 집약적 일 수 있습니다. 그러나
fsync
정책으로 성능 히트를 완화 할 수 있습니다.-
always
: 동기식은 모든 명령에 대해 디스크에 쓰여져 내구성이 높지만 성능에 크게 영향을 미칩니다. -
everysec
: 매 초마다 디스크에 글을 쓰고 성능과 데이터 안전 사이의 균형을 잘 제공합니다. -
no
: FSYNC는 운영 체제에 의존하여 디스크에 데이터를 작성하여 가장 안전하지는 않지만 성능에 영향을 미치지 않습니다.
-
- 복구 시간 : Redis는 데이터 세트를 재구성하기 위해 모든 쓰기 작업을 재생해야하기 때문에 AOF 파일이 복구하는 데 시간이 오래 걸릴 수 있습니다.
- 데이터 안전 : AOF는 모든 작업을 기록하여 충돌시 데이터 손실을 최소화하기 때문에 더 나은 데이터 안전을 제공합니다.
Redis에서 RDB 스냅 샷의 주파수와 크기를 최적화하려면 어떻게해야합니까?
Redis에서 RDB 스냅 샷의 주파수와 크기를 최적화하려면 다음 전략을 고려하십시오.
주파수 최적화 :
-
저장 간격 조정 : 데이터 안전과 성능의 균형을 유지하려면
redis.conf
의save
간격을 수정하십시오. 예를 들어, 데이터 세트가 자주 변경되지 않으면 빈도를 줄일 수 있습니다.<code>save 3600 1 save 300 100 save 60 10000</code>
로그인 후 복사 - 모니터링 및 조정 :
INFO
명령을 사용하여rdb_last_save_time
및rdb_changes_since_last_save
메트릭을 모니터링합니다. 작업량에 따라 저장 간격을 조정하십시오.
크기 최적화 :
-
압축 : 스냅 샷의 크기를 줄이기 위해 RDB 압축을 활성화합니다.
<code>rdbcompression yes</code>
로그인 후 복사로그인 후 복사 - 데이터 유형 선택 : 데이터 구조를 현명하게 사용하십시오. 예를 들어, 여러 요소를 저장하기 위해
LIST
대신SET
사용하면 스냅 샷이 더 작을 수 있습니다. - 데이터 만료 : 데이터 세트의 크기와 RDB 스냅 샷을 줄이기 위해 안전하게 제거 할 수있는 키에 대한 TTL (Live to Live) 구현.
추가 팁 :
- 증분 스냅 샷 : 가능하면 증분 스냅 샷을 사용하여 스냅 샷 생성이 성능에 미치는 영향을 줄입니다. 이 기능은 Redis Enterprise에서 제공됩니다.
- 큰 스냅 샷을 피하십시오 : 데이터 세트가 매우 크면 여러 redis 인스턴스에서 분할하여 스냅 샷 크기를 관리하십시오.
Redis에서 AOF를 사용할 때 데이터 무결성을 보장하기 위해 어떤 조치를 취해야합니까?
Redis에서 AOF를 사용할 때 데이터 무결성을 보장하려면 다음 단계를 따르십시오.
1. 올바른 fsync
정책을 선택하십시오.
-
성능과 데이터 안전 사이의 균형을 위해
redis.conf
의everysec
에appendfsync
설정하십시오.<code>appendfsync everysec</code>
로그인 후 복사로그인 후 복사 - 데이터 손실이 중요하다면
appendfsync always
고려하십시오. 그러나 성능 영향을주의하십시오.
2. 정기적 인 AOF 재 작성 :
-
파일 크기를 관리하기 쉽게 유지하고 데이터 무결성을 향상시키기 위해 자동 AOF 재 작성을 활성화하십시오.
<code>auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb</code>
로그인 후 복사로그인 후 복사 - 필요할 때
BGREWRITEAOF
명령을 사용하여 AOF AOF 재 작성을 수동으로 트리거 할 수도 있습니다.
3. AOF 부패 검사 :
-
redis-check-aof
도구를 사용하여 파일 무결성을 확인하십시오. 부패가 감지되면 파일을 수리 할 수 있습니다.<code>redis-check-aof --fix appendonly.aof</code>
로그인 후 복사 - 특히 서버가 다시 시작된 후 AOF 파일을 정기적으로 확인하고 복구 할 수있는 스크립트를 구현하십시오.
4. 중복성을위한 복제 :
-
Redis 복제를 설정하여 데이터의 여러 사본을 생성합니다. 이렇게하면 하나의 서버가 실패하더라도 데이터 무결성을 보장합니다.
<code>slaveof <masterip> <masterport></masterport></masterip></code>
로그인 후 복사 - 고 가용성 및 자동 장애 조치에는 Sentinel을 사용하십시오.
5. 모니터링 및 경고 :
- Redis Insight 또는 Prometheus 및 Grafana와 같은 타사 도구와 같은 Redis 모니터링 도구를 사용하여 파일 크기 및 무결성을 모니터링하십시오.
- 비정상적인 성장 또는 오류에 대한 경고를 설정하여 데이터 무결성과 관련된 문제를 나타낼 수 있습니다.
6. 백업 전략 :
- AOF 및 RDB 스냅 샷이 모두 포함 된 일반 백업 전략을 구현하십시오. 이것은 여러 계층의 데이터 보호를 제공합니다.
- 데이터 센터 실패로부터 보호하기 위해 다른 위치에 백업을 저장합니다.
이 단계를 수행하면 aOF를 사용할 때 REDIS 설정의 데이터 무결성을 크게 향상시킬 수 있습니다.
위 내용은 Redis Persistence (RDB 스냅 샷, AOF)를 어떻게 구성합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

Redis Cluster Mode는 Sharding을 통해 Redis 인스턴스를 여러 서버에 배포하여 확장 성 및 가용성을 향상시킵니다. 시공 단계는 다음과 같습니다. 포트가 다른 홀수 redis 인스턴스를 만듭니다. 3 개의 센티넬 인스턴스를 만들고, Redis 인스턴스 및 장애 조치를 모니터링합니다. Sentinel 구성 파일 구성, Redis 인스턴스 정보 및 장애 조치 설정 모니터링 추가; Redis 인스턴스 구성 파일 구성, 클러스터 모드 활성화 및 클러스터 정보 파일 경로를 지정합니다. 각 redis 인스턴스의 정보를 포함하는 Nodes.conf 파일을 작성합니다. 클러스터를 시작하고 Create 명령을 실행하여 클러스터를 작성하고 복제본 수를 지정하십시오. 클러스터에 로그인하여 클러스터 정보 명령을 실행하여 클러스터 상태를 확인하십시오. 만들다

Redis 데이터를 지우는 방법 : Flushall 명령을 사용하여 모든 키 값을 지우십시오. FlushDB 명령을 사용하여 현재 선택한 데이터베이스의 키 값을 지우십시오. 선택을 사용하여 데이터베이스를 전환 한 다음 FlushDB를 사용하여 여러 데이터베이스를 지우십시오. del 명령을 사용하여 특정 키를 삭제하십시오. Redis-Cli 도구를 사용하여 데이터를 지우십시오.

Redis의 대기열을 읽으려면 대기열 이름을 얻고 LPOP 명령을 사용하여 요소를 읽고 빈 큐를 처리해야합니다. 특정 단계는 다음과 같습니다. 대기열 이름 가져 오기 : "큐 :"와 같은 "대기열 : my-queue"의 접두사로 이름을 지정하십시오. LPOP 명령을 사용하십시오. 빈 대기열 처리 : 대기열이 비어 있으면 LPOP이 NIL을 반환하고 요소를 읽기 전에 대기열이 존재하는지 확인할 수 있습니다.

Redis 메모리 급등에는 너무 큰 데이터 볼륨, 부적절한 데이터 구조 선택, 구성 문제 (예 : MaxMemory 설정이 너무 작은) 및 메모리 누출이 포함됩니다. 솔루션에는 만료 된 데이터 삭제, 압축 기술 사용, 적절한 구조 선택, 구성 매개 변수 조정, 코드의 메모리 누출 확인 및 메모리 사용을 정기적으로 모니터링합니다.

Redis는 단일 스레드 아키텍처를 사용하여 고성능, 단순성 및 일관성을 제공합니다. 동시성을 향상시키기 위해 I/O 멀티플렉싱, 이벤트 루프, 비 블로킹 I/O 및 공유 메모리를 사용하지만 동시성 제한 제한, 단일 고장 지점 및 쓰기 집약적 인 워크로드에 부적합한 제한이 있습니다.

Redis 지시 사항을 사용하려면 다음 단계가 필요합니다. Redis 클라이언트를 엽니 다. 명령 (동사 키 값)을 입력하십시오. 필요한 매개 변수를 제공합니다 (명령어마다 다름). 명령을 실행하려면 Enter를 누르십시오. Redis는 작업 결과를 나타내는 응답을 반환합니다 (일반적으로 OK 또는 -err).

Redis를 사용하여 잠금 작업을 사용하려면 SetNX 명령을 통해 잠금을 얻은 다음 만료 명령을 사용하여 만료 시간을 설정해야합니다. 특정 단계는 다음과 같습니다. (1) SETNX 명령을 사용하여 키 값 쌍을 설정하십시오. (2) 만료 명령을 사용하여 잠금의 만료 시간을 설정하십시오. (3) DEL 명령을 사용하여 잠금이 더 이상 필요하지 않은 경우 잠금을 삭제하십시오.

Redis 데이터베이스의 효과적인 모니터링은 최적의 성능을 유지하고 잠재적 인 병목 현상을 식별하며 전반적인 시스템 신뢰성을 보장하는 데 중요합니다. Redis Exporter Service는 Prometheus를 사용하여 Redis 데이터베이스를 모니터링하도록 설계된 강력한 유틸리티입니다. 이 튜토리얼은 Redis Exporter Service의 전체 설정 및 구성을 안내하여 모니터링 솔루션을 원활하게 구축 할 수 있도록합니다. 이 자습서를 연구하면 완전히 작동하는 모니터링 설정을 달성 할 수 있습니다.
