Redis는 C 언어로 작성된 오픈 소스 키-값 저장소 데이터베이스입니다. 캐싱, 이벤트 게시 및 구독, 고속 큐와 같은 시나리오에서 사용할 수 있습니다. 그리고 다양한 데이터 유형을 지원합니다: 문자열(문자열), 해시(해시), 목록(목록), 세트(순서가 지정되지 않은 세트), zset(정렬된 세트: 순서가 지정된 세트)
프로젝트 시나리오에서 Redis 적용
1. 캐시 데이터
가장 일반적으로 사용되는 데이터로, 자주 쿼리해야 하고 자주 변경되지 않는 데이터를 흔히 핫 데이터라고 합니다.
2. 메시지 대기열
은 ActiveMQ 및 RocketMQ와 같은 메시지 구독 시스템과 동일합니다. 데이터에 대한 일관성 요구 사항이 더 높은 경우에도 MQ를 사용하는 것이 좋습니다)
3. Counters
예를 들어 Redis는 클릭률과 좋아요 비율을 계산하여 동시성 문제를 피할 수 있습니다
4, 전자상거래 사이트 정보
대규모 전자상거래 플랫폼에서는 페이지 데이터의 캐시를 초기화합니다. 예를 들어 Qunar.com에서 항공권을 구매할 때 홈페이지에 표시된 가격은 클릭한 가격과 다릅니다.
5. 뉴스 웹사이트의 실시간 핫스팟, 웨이보의 인기 검색어 등 핫스팟 데이터
는 자주 업데이트되어야 합니다. 총 데이터 양이 비교적 큰 경우 데이터베이스에서 직접 쿼리하면 성능에 영향을 미칩니다
Redis 데이터 유형의 응용 시나리오
앞서 언급했듯이 Redis는 5가지 풍부한 데이터 유형을 지원하므로 다양한 데이터 유형을 어떻게 선택해야 합니까? 시나리오?
1. String
String은 가장 일반적으로 사용되는 데이터 유형으로 바이너리, JSON 인코딩 개체, 심지어 base64 인코딩 이미지를 포함한 모든 유형의 문자열을 저장할 수 있습니다. Redis에서 문자열의 최대 용량은 512MB로 만능이라고 할 수 있습니다.
2. Hash
는 구조화된 데이터를 저장하는 데 자주 사용됩니다. 예를 들어 포럼 시스템에 사용자 ID, 닉네임, 아바타, 포인트 및 기타 정보를 저장하는 데 사용할 수 있습니다. 정보를 수정해야 하는 경우 Key를 통해 Value를 꺼내서 deserialize하고 항목의 값을 수정한 다음 Redis에 직렬화하여 저장하면 됩니다. Hash 구조가 저장되기 때문입니다. 단일 해시 요소가 특정 숫자보다 작을 때 수정되므로 많은 메모리를 절약할 수 있습니다. 이는 문자열 구조에 존재하지 않습니다.
3、목록
List는 역방향 검색과 순회를 지원할 수 있는 이중 연결 목록으로 구현되어 작동이 더 편리합니다. 그러나 전송 버퍼 큐 등을 포함하여 Redis 내의 많은 구현에서도 이를 사용합니다. 데이터 구조. 또한 lrange 명령을 사용하여 뛰어난 성능과 우수한 사용자 경험을 제공하는 Redis 기반 페이징 기능을 구현할 수 있습니다.
4. Set
set에서 제공하는 외부 기능은 목록과 유사하지만 데이터 목록을 저장해야 하지만 중복을 원하지 않을 때 특별한 점입니다. 데이터가 생성되면 이때 집합을 사용하도록 선택할 수 있습니다.
5. 정렬 세트
는 특정 조건의 가중치에 따라 정렬할 수 있습니다. 예를 들어 클릭 수를 기준으로 순위 데이터 애플리케이션을 만들 수 있습니다.
Redis 기능:
1. Redis는 필요할 때 수동으로 하드 디스크에 유지해야 합니다.
2. Redis는 단일 스레드이므로 다중 환경에서 빈번한 컨텍스트를 피합니다. -스레드 스위칭 작업.
3. Redis 데이터 구조가 간단하고, 데이터 조작이 비교적 간단합니다. 4. 사용되는 기본 모델이 다르고, 클라이언트와의 통신을 위한 기본 구현 방법도 다릅니다. Redis는 직접 구축했습니다. 나만의 VM 메커니즘입니다. 일반 시스템이 시스템 기능을 호출하면 이동 및 요청에 일정 시간이 낭비되기 때문입니다
5. 다중 채널 I/O 다중화 모델, 비차단 I/O
를 사용하세요.자세히 Redis 관련 지식은 Redis 사용법 튜토리얼 칼럼을 참고해주세요!
위 내용은 Redis는 일반적으로 어떤 유형의 데이터를 저장합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!