Redis는 데이터를 유지합니까?
Redis는 메모리의 모든 데이터를 제공하지만 서버 재부팅시에도 지속되므로 서버가 재부팅 될 때 디스크의 모든 데이터를 메모리로 읽어들입니다. 아니면 앱이 지속성없이 실행되는 동안에 만 데이터를 저장하는 빈 저장소입니까?
http://redis.io/topics/persistence에서 이에 대해 읽어 보시기 바랍니다 . 기본적으로 메모리 내 저장 만 사용하여 성능을 높이면 보장 된 지속성을 잃게됩니다. 메모리에 삽입하지만 디스크에 유지되기 전에 전원이 꺼지는 시나리오를 상상해보십시오. 데이터가 손실됩니다.
Redis는 소위 "스냅 샷"을 지원합니다. 즉, 특정 시점 (예 : 1 시간마다)에 메모리에있는 내용의 전체 복사를 수행합니다. 두 스냅 샷 사이의 전원이 끊기면 마지막 스냅 샷과 충돌 사이의 데이터가 손실됩니다 (정전이 아니어도됩니다.). Redis는 대부분의 NoSQL-DB와 마찬가지로 데이터 안전성과 성능을 비교합니다.
대부분의 NoSQL 데이터베이스는 이러한 위험을 최소화하기 위해 여러 노드 간의 복제 개념을 따릅니다. Redis는 데이터 일관성을 보장하는 데이터베이스 대신 더 빠른 캐시로 간주됩니다. 따라서 그 사용 사례는 일반적으로 실제 데이터베이스의 사용 사례와 다릅니다. 예를 들어 세션, 성능 카운터 또는 그 안에 타의 추종을 불허하는 성능과 충돌시 실제 손실이없는 모든 것을 저장할 수 있습니다. 그러나 주문 / 구매 내역 등을 처리하는 것은 전통적인 데이터베이스의 작업으로 간주됩니다.
Redis 서버는 모든 데이터를 때때로 HDD에 저장하므로 일정 수준의 지속성을 제공합니다.
다음과 같은 경우에 데이터를 저장했습니다.
그러나 redis의 데이터는 다음과 같은 이유로 실제로 영구적이지 않습니다.
- redis 프로세스가 중단되면 마지막 저장 이후 모든 변경 사항이 손실됩니다.
BGSAVE
충분한 여유 RAM이있는 경우에만 작업을 수행 할 수 있습니다 (추가 RAM의 양은 redis DB의 크기와 동일).
NB : BGSAVE
RAM 요구 사항은 실제 문제입니다. redis는 더 이상 실행할 RAM이 없을 때까지 계속 작동하지만 훨씬 일찍 (RAM의 약 50 %에서) HDD에 데이터 저장을 중지하기 때문입니다.
자세한 내용은 Redis Persistence를 참조하십시오 .
구성의 문제입니다. Redis에서 데이터의 일부 또는 전체 지속성을 전혀 가질 수 없습니다. 최상의 결정은 프로젝트의 기술 및 비즈니스 요구 사항에 따라 결정됩니다.
지속성에 대한 Redis 문서에 따르면 인스턴스를 설정하여 때때로 데이터를 디스크에 저장하거나 각 쿼리에 대해 간단히 말해 볼 수 있습니다. 그들은 두 가지 전략 / 방법 AOF와 RDB를 제공합니다 (그때에 대한 세부 사항을 보려면 문서를 읽으십시오), 각각을 단독으로 또는 함께 사용할 수 있습니다.
"지속성과 같은 SQL"을 원하면 다음과 같이 말했습니다.
일반적인 징후는 PostgreSQL이 제공 할 수있는 것과 비슷한 수준의 데이터 안전성을 원한다면 두 가지 지속성 방법을 모두 사용해야한다는 것입니다.
지속성 없음을 선택할 수 있습니다. 성능은 향상되지만 Redis가 종료되면 모든 데이터가 손실됩니다.
Redis에는 RDB와 AOF의 두 가지 지속성 메커니즘이 있습니다. RDB는 스케줄러 전역 스냅 샷을 사용하고 AOF는 MySql과 유사한 apappend 전용 로그 파일에 업데이트를 기록합니다.
둘 중 하나 또는 둘 다 사용할 수 있습니다. Redis가 재부팅되면 RDB 파일 또는 AOF 파일을 읽어 데이터를 구성합니다.
참고 URL : https://stackoverflow.com/questions/25328317/does-redis-persist-data
'IT박스' 카테고리의 다른 글
터미널에서 Ruby 코드를 실행하는 방법은 무엇입니까? (0) | 2020.09.05 |
---|---|
Dockerfile의 이름을 지정하는 방법 (0) | 2020.09.05 |
REST 인증 및 API 키 노출 (0) | 2020.09.04 |
ES6 클래스로 기능을 확장하는 방법은 무엇입니까? (0) | 2020.09.04 |
파이썬에서 좋은 __hash__ 함수를 구현하는 방법 (0) | 2020.09.04 |