Redis 6 대 데이터 형식 사용 방법 상세 설명

6054 단어 Redis데이터유형
우 리 는 Redis 가 Memcache 등 다른 캐 시 제품 에 비해 비교적 뚜렷 한 장점 은 Redis 가 간단 한 key-value 형식의 데 이 터 를 지원 할 뿐만 아니 라 list,set,zset,hash 등 데이터 구조의 저장 도 제공 한 다 는 것 이다.이 블 로 그 는 이러한 데이터 형식의 상세 한 사용 과 Redis 시스템 에 관 한 명령 용법 을 소개 할 것 입 니 다.
메모:Redis 명령 은 대소 문 자 를 구분 하지 않 지만 key 는 대소 문 자 를 엄 격 히 구분 합 니 다!!
0、앞 에 써 주세요
아래 에 소 개 된 레 디 스 명령 은 매우 많다.만약 당신 이 억지로 외 워 서 이 명령 들 을 기억 하 는 것 은 거의 불가능 하 다.그러나 레 디 스 의 일부 메커니즘 을 이해 했다 면 이 명령 들 은 사실 매우 통용 적 이 고 이 해 를 통 해 기억 하 는 것 이 가장 좋다.또한 모든 데이터 유형 에 적합 한 사용 장면 이 있 기 때문에 저 는 글 에서 설명 을 드 리 겠 습 니 다.만약 에 남용 하면 오히려 역 효 과 를 얻 을 수 있 습 니 다.

1.string 데이터 형식
string 은 Redis 의 가장 기본 적 인 데이터 형식 으로 Memcached 와 똑 같은 유형 으로 이해 할 수 있 으 며 하나의 key 는 하나의 value 에 대응 합 니 다.string 형식 은 바 이 너 리 보안 입 니 다.Redis 의 string 은 그림 이나 직렬 화 된 대상 등 모든 데 이 터 를 포함 할 수 있 습 니 다.하나의 redis 에서 문자열 value 는 최대 512 M 일 수 있 습 니 다.
① 관련 명령 안내
string 데이터 형식 이 Redis 에 있 는 명령:

  
  PS:
① 위의 ttl 명령 은 key 의 남 은 만 료 시간 을 되 돌려 주 고 단 위 는 초 입 니 다.
② mset 과 mget 같은 대량 처리 명령 은 작업 효율 을 크게 향상 시 킬 수 있다.한 번 의 명령 수행 에 필요 한 시간=1 차 네트워크 전송 시간+1 차 명령 실행 시간,n 개 명령 시간=n 차 네트워크 전송 시간+n 차 명령 실행 시간,일괄 처리 명령 은 n 차 네트워크 시간 을 1 차 네트워크 시간,즉 1 차 네트워크 전송 시간+n 차 명령 처리 시간 으로 줄 이기 때문이다.
그러나 주의해 야 할 것 은 Redis 는 단일 스 레 드 입 니 다.일괄 처리 명령 이 너무 많 으 면 Redis 가 막 히 거나 네트워크 가 막 힐 수 있 습 니 다(전송 데 이 터 량 이 많 습 니 다).
③,setnx 는 분포 식 잠 금 을 실현 하 는 데 사용 할 수 있 고 구체 적 인 실현 방식 은 다음 에 소개 할 것 이다.
위 는 string 형식의 기본 명령 입 니 다.다음은 몇 가지 자체 증가 자감 작업 을 소개 합 니 다.이것 은 실제 작업 에서 특히 유용 합 니 다(분포 식 환경 에서 시스템 의 온라인 인원 을 통계 하고 Redis 의 고성능 읽 기와 쓰기 를 이용 하여 Redis 에서 초살 을 완성 합 니 다.직접 조작 수량 라 이브 러 리 가 아 닙 니 다.)

  
② 전형 적 인 장면 사용
계산 하 다
Redis 단일 스 레 드 의 특징 으로 인해 우 리 는 계산 이 정확 하지 않 은 문 제 를 고려 하지 않 아 도 됩 니 다.incrby 명령 을 통 해 우 리 는 우리 가 원 하 는 결 과 를 정확하게 얻 을 수 있 습 니 다.
2.횟수 제한
예 를 들 어 로그 인 횟수 검사,오류 가 세 번 을 초과 하면 5 분 안에 로그 인 을 하지 못 하 게 합 니 다.로그 인 할 때마다 key 를 한 번 추가 하고 이 key 의 만 료 시간 을 5 분 으로 설정 한 후 로그 인 할 때마다 이 key 의 값 을 확인 하여 로그 인 을 제한 합 니 다.
2.hash 데이터 형식
hash 는 키 쌍 집합 입 니 다.string 형식의 key 와 value 의 맵 표 입 니 다.key 또는 key 이지 만 value 는 키 쌍(key-value)입 니 다.자바 의 맵집합 과 유사 합 니 다.
① 관련 명령 안내

다음 과 같이 보 여 줍 니 다.

② 전형 적 인 장면 사용
조회 시간 복잡 도 는 O(1)로 정 보 를 캐 시 하 는 데 사 용 됩 니 다.
3.list 데이터 형식
list 목록 입 니 다.간단 한 문자열 목록 입 니 다.삽입 순서에 따라 정렬 할 수 있 습 니 다.목록 의 머리(왼쪽)나 꼬리(오른쪽)에 요 소 를 추가 할 수 있 습 니 다.밑 에 있 는 것 은 실제 링크 입 니 다.
목록 은 두 가지 특징 이 있 습 니 다.
질서
중복 가능
이 두 가지 특징 은 뒤에 소 개 된 집합 과 질서 있 는 집합 과 상대 적 으로 비교 해 야 한다.
① 관련 명령 안내

  
  
② 전형 적 인 장면 사용
창고
명령 을 통 해 lpush+lpop
대열
명령 lpush+rpop
3.유한 집합
명령 lpush+ltrim
4.메시지 큐
명령 lpush+brpop
4.set 데이터 형식
Redis 의 set 는 string 형식의 무질서 한 집합 입 니 다.
목록 에 비해 집합 도 두 가지 특징 이 있 습 니 다.
무질서 하 다
중복 불가
① 관련 명령 안내


  
② 전형 적 인 장면 사용
집합 적 인 교차 집합 특성 을 이용 하여 예 를 들 어 사교 분야 에서 우 리 는 여러 사용자 의 공동 친구,공동 관심 분야 등 을 편리 하 게 구 할 수 있다.
5.zset 데이터 형식
zset(sorted set 질서 있 는 집합)은 위의 set 데이터 형식 과 마찬가지 로 string 형식 요소 의 집합 이지 만 질서 가 있 습 니 다.
① 관련 명령 안내

  
② 전형 적 인 장면 사용
set 데이터 구조 와 마찬가지 로 zset 도 소 셜 분야 의 관련 업무 에 사용 할 수 있 고 zset 의 질서 있 는 특성 을 이용 하여 차 트 와 유사 한 업 무 를 할 수 있 습 니 다.
6.Redis 5.0 새로운 데이터 구조-stream
Redis 의 작성 자 는 Redis 5.0 에서 새로운 데이터 구조,Stream 을 방출 합 니 다.Redis Stream 의 내부 도 하나의 대기 열 입 니 다.각각 다른 key 는 서로 다른 대기 열 에 대응 합 니 다.각 대기 열의 요소,즉 메시지 입 니 다.msgid 가 있 고 msgid 가 엄 격 히 증가 하 는 것 을 보증 해 야 합 니 다.Stream 에서 메 시 지 는 기본적으로 오래 지속 되 며 Redis 가 다시 시작 하 더 라 도 메 시 지 를 읽 을 수 있 습 니 다.그렇다면 스 트 리밍 은 어떻게 멀티캐스트 를 했 을 까?사실은 매우 간단 합 니 다.다른 대기 열 시스템 과 비슷 합 니 다.Redis 는 서로 다른 소비자 에 대해 서도 소비자 Group 이라는 개념 이 있 습 니 다.서로 다른 소비 팀 은 같은 소식 을 소비 할 수 있 습 니 다.서로 다른 소비 팀 에 대해 Idx 하 표를 유지 하고 이 소비 팀 이 어디 에 소 비 했 는 지 나타 내 며 매번 소 비 를 할 때마다 이 하 표를 업데이트 합 니 다.뒤쪽 으로 이동 합 니 다.
7.시스템 관련 명령

8.key 관련 명령
키 에 대한 명령 은 가장 자주 사용 되 는 것 이 라 고 할 수 있 으 니 기억 하 셔 야 합 니 다.


  
명령 을 소개 합 니 다.
OBJECT ENCODING key
이것 은 이 다섯 가지 데이터 유형 을 나타 내 는 바 텀 데이터 구조 로 다음 블 로 그 는 우리 가 상세 하 게 소개 할 것 이다.
  
위의 명령 은 string 데이터 형식 k1 에 str 를 복사 하고 k2 에 123 을 복사 하 라 고 했 습 니 다.OBJECT ENCODING 을 통 해 바 텀 에서 이 루어 진 데이터 형식 은 각각 embstr 와 int 입 니 다.
참고 문서:http://www.redis.cn/commands.html
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기