"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 레디스 2

레디스 2

2024-08-15에 게시됨
검색:919

Redis 2

Redis - 목록, 세트 및 HashMap

이전 블로그 게시물에 이어집니다.

키-값 쌍 외에 사용 가능한 다른 데이터 유형이 3개 있습니다.

기울기

이 데이터 구조는 Python의 목록이나 Javascript 또는 C#의 배열과 유사합니다. 최근에 사용한 항목을 보관하는 데 사용할 수 있습니다. 일반적인 작업은 다음과 같습니다.

작업 설명 추가 설명
LPUSH 목록 시작 부분에 항목을 추가합니다. LPUSH 친구들 "소피아" 자바스크립트의 Array.unshift와 유사
범위 목록의 모든 항목 가져오기 LRANGE 친구 0 -1 유사하게 Python 0의 목록은 첫 번째 항목이고 -1은 마지막 항목입니다.
RPUSH 목록 끝에 항목을 추가합니다. RPUSH 친구들 "포" 자바스크립트의 Array.push와 유사
엘팝 목록 시작 부분에서 항목을 제거합니다. 엘팝 친구들 "포" Poe가 목록에 있으면 1을 반환하고 그렇지 않으면 0을 반환합니다.
RPOP 목록 끝에서 항목을 제거합니다. RPOP 친구 "소피아" Sophia가 목록에 있으면 1을 반환하고 그렇지 않으면 0을 반환합니다.

세트

고유한 항목만 갖는 데이터 구조입니다. Python의 집합, Javascript의 집합 및 C#의 HashSet과 유사합니다. 일반적인 작업에는 다음이 포함됩니다.

작업 설명 추가 설명
사드 세트에 값을 추가합니다. SADD 색상 "핑크"
회원 세트의 멤버를 반환합니다. SMEMBERS 색상 설정된 색상의 모든 항목을 반환합니다.
SREM 세트의 구성원을 제거합니다. SREM 색상 "핑크" 목록에 분홍색이 있으면 1을 반환하고 그렇지 않으면 0을 반환합니다.

해시맵

해시맵은 키 값 쌍의 그룹입니다. 그러나 해시맵은 중첩될 수 없습니다. 이름, 이메일, 전화번호를 가진 사람의 사례 시나리오를 살펴보겠습니다.

HSET person name "Joe" # Adds the key-value pair {name : joe} to the hashmap
HSET person email "[email protected]" # Adds the key-value pair {email : [email protected]} to the hashmap
HSET person phone_number " 2345656655413" # Adds the key-value pair {number : ....} to the hashmap

HGET 명령을 사용하여 해시맵의 특정 키 값을 가져올 수 있습니다.

HGET person name # returns "Joe"

HGETALL는 해시맵의 모든 키-값 쌍을 명령합니다.

HGETALL person 

1) "name"
2) "Joe"
3) "email"
4) "[email protected]"
5) "phone_number"
6) " 2345656655413"

HDEL 명령은 해당 키로 키-값 쌍을 삭제합니다.

HDEL person name # removes {name : joe}

HEXISTS 명령은 해시 세트에 키가 있는지 확인합니다.

HEXISTS person name # returns 0 because we've deleted it before

개발자가 알아야 할 대부분의 기본 명령입니다.


일반적인 면접 질문

  1. Redis의 전체 의미는 무엇입니까?: Redis는 REmote Dictionary Server

  2. 를 의미합니다.
  3. redis는 MySQL과 같은 기존 데이터베이스와 어떻게 다릅니까?: Redis는 메인 메모리에서 작동하며 디스크에 상주하고 광범위한 처리 작업을 수행하는 SQL과 달리 값에 빠르게 액세스하기 위한 기본 작업을 수행합니다.

  4. 데이터 크기 및 유형과 관련하여 Redis의 제한 사항은 무엇입니까?: Redis는 시스템 메모리에 맞는 값을 보유하도록 설계되었습니다. 조인이 포함된 복잡한 관계형 모델이나 큰 blob을 구성하는 데는 적합하지 않습니다.

  5. Redis를 사용하여 분산 환경에서 캐싱을 어떻게 처리합니까?: 데이터베이스 앞에 Redis 인스턴스를 캐싱 계층으로 설정하여 캐싱을 처리합니다. 캐시 노드에 따라 키를 배포하기 위해 일관된 해싱을 사용하면 부하가 고르게 분산되고 캐시 누락이 줄어듭니다.

  6. Redis에서 언제 목록 데이터 유형을 사용해야 합니까?: 목록은 내구성 있는 원자 대기열, 작업 대기열, 로그, 버퍼 및 기타 여러 사용 사례에 적합합니다.

릴리스 선언문 이 글은 https://dev.to/ezekiel_77/redis-2-fec?1 에서 복제하였습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3