Redis는 고성능 키-값 데이터베이스입니다. Redis의 출현은 memcached와 같은 키/값 저장소의 단점을 크게 보완했으며 일부 상황에서는 관계형 데이터베이스에 대한 매우 훌륭한 보완 역할을 할 수 있습니다. Java, C/C++, C#, PHP, JavaScript, Perl, Object-C, Python, Ruby, Erlang 및 기타 클라이언트를 제공하므로 사용이 매우 편리합니다.
Redis의 등장은 우연이 아닙니다. Memcached와 달리 메모리에만 데이터를 저장할 수 있습니다. 문제는 가동 중지 후 눈사태를 방지하는 것입니다. 서버 문제가 발생하면 메모리에 보관된 원본 데이터가 모두 손실되며, 이때 데이터를 메모리로 재구성해야 합니다. 이때 Memcached는 매우 느린 프로세스를 거치게 됩니다.
Redis의 지속성 지원은 Redis의 무기 중 하나일 뿐입니다. 또한 Redis는 최대 효율성으로 요구 사항을 충족하기 위해 다양한 요구 사항에 맞는 최대 5가지 데이터 저장 방법을 제공합니다. 데이터 유형:
一 string(string)
String은 Memcached와 완전히 동일한 유형으로 이해하시면 됩니다. 하나의 키는 하나의 값에 해당하며, 이에 대해 지원되는 작업은 Memcached와 유사합니다. 그러나 기능이 훨씬 더 풍부합니다.
이 목록 (이중 연결 목록)
목록은 연결 목록 구조이며 주요 기능은 푸시, 팝, 범위의 모든 값 가져오기 등입니다. 양방향이라고 하는 이유는 연결리스트의 왼쪽과 오른쪽에 각각 연산이 가능하기 때문입니다
三 dict(해시 테이블)
Set은 집합으로 집합의 개념과 유사합니다. 우리 수학에는 집합에 대한 추가 연산이 있습니다. 요소 삭제에는 여러 집합의 교차 및 차이와 같은 연산이 포함됩니다. 연산에서 키는 집합의 이름으로 이해됩니다.
four zset(정렬 집합)
Zset은 집합을 기반으로 시퀀스 속성을 추가한 것입니다. 요소를 추가하고 수정할 때 zset은 지정될 때마다 새 값에 따라 순서를 자동으로 다시 조정합니다. 지정된 키 값에 대한 정렬 가중치를 설정할 수 있습니다.
五 해시 유형
Redis는 키의 여러 속성 데이터를 저장할 수 있습니다(예: user1.uname user1.passwd) ) 물론 이러한 속성을 json 형식으로 저장하고 직접 문자열 형식으로 조작할 수도 있지만 이는 성능에 영향을 미치기 때문에 redis에서는 Hash 형식을 제안합니다.
위 내용은 Redis는 어떤 데이터 구조를 지원합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!