Redis 데이터 유형

Redis 데이터 유형

2022-06-04 last update

6 minutes reading Redis
Redis는 속도가 훨씬 느린 디스크가 아니라 시스템의 메모리에 데이터를 저장하기 때문에 믿을 수 없는 키 값 데이터베이스입니다.이것은 고성능 응용 프로그램의 일반적인 선택으로 독립 데이터베이스나 다른 데이터베이스의 캐시 시스템으로 사용할 수 있다.키 값은 저장되지만, 문자열이 아닌 더 많은 데이터 형식을 지원합니다.Redis는 최대 512MB 크기의 바이너리 보안 문자열 값만 지원합니다.
이진 문자열은 이미지 등 비전통적인 데이터를 저장하는 바이트 시퀀스를 가리킨다.텍스트 정보를 포함하는 원시 문자열과 달리 이진 문자열은 다양한 형식의 데이터를 저장할 수 있다.
이 상세한 글은 Redis가 지원하는 데이터 형식을 논의할 것입니다.그리고 Redis 명령을 사용하여 논의된 데이터 유형을 처리하는 방법을 살펴보겠습니다.
우리 토론합시다.

Redis 데이터 유형


Redis는 고유 키를 특정 값 객체에 매핑하여 작업하는 키 값 저장소입니다.데이터베이스에 있는 모든 키를 사용하면 이 키와 관련된 값을 검색, 업데이트 또는 삭제할 수 있습니다.
이 기능을 사용하면 Redis를 쉽게 사용하고 관리할 수 있습니다.위에서 설명한 대로 Redis 데이터베이스의 키는 이진 문자열입니다.그러나 값의 경우 다음과 같은 다양한 객체를 사용할 수 있습니다.
  • 직렬
  • 목록
  • 해시
  • 세트
  • 정렬 세트
  • 비트맵(논의되지 않음)
  • HyperLogLog(미논의)
  • Redis는 위의 각 데이터 유형에 대해 일련의 명령과 작업을 제공합니다.이 강좌를 계속 공부하려면 시스템에 Redis 클러스터가 설치되어 있는지 확인하고 준비하십시오.

    문자열 유형


    문자열 유형은 Redis 키로 설정할 수 있는 가장 기본적이고 표준적인 단위 유형입니다.앞에서 설명한 바와 같이 Redis 키는 텍스트나 바이너리 문자열의 최대 크기가 512MB입니다.단, 단락 키를 설정하는 것을 권장합니다.
    Redis에서 문자열을 사용하는 것은 매우 간단하고 속도가 매우 빠르다.Redis 문자열을 사용하려면 GET, SET 및 DEL 명령을 사용합니다.
    Redis 데이터베이스에 새 키를 추가하려면 Redis CLI를 열고 다음 구문에 따라 명령을 입력합니다.
    SET key value
    set 명령은 첫 번째와 두 번째 파라미터를 각각 키와 값으로 합니다.
    특정 키에 저장된 값을 가져오려면 GET 명령, 뒤축 키 이름을 사용합니다.
    예:
    GET key
    
    "value"
    위의 명령을 실행하면 특정 키가 저장한 값을 볼 수 있습니다.
    데이터베이스에서 키와 값을 삭제하려면 DEL 명령, 뒤축 키의 이름을 사용합니다.
    DEL key
    
    (integer) 1
    명령이 실행되면 Redis는 데이터베이스에서 삭제된 요소 수를 반환합니다.데이터베이스에 지정된 키가 없으면 다음과 같이 Redis가 0으로 돌아갑니다.
    DEL notthere
    
    (integer) 0

    목록 유형


    Redis는 목록도 지원합니다.목록은 특정 키와 연관된 문자열 값의 순서를 나타냅니다.목록을 문자열 값의 질서정연한 집합으로 간주합니다.
    Redis에서 목록을 사용하는 것은 여러 가지 좋은 점과 나쁜 점이 있습니다.우선, 목록은 머리에서 요소를 삽입하고 삭제하는 빠른 방법을 제공합니다.
    이 목록의 단점은 집합의 요소에 접근해야 할 때 Redis가 전체 그룹을 스캔해야 한다는 것입니다.특히 읽기 작업이 쓰기 작업보다 높을 때 단점이 된다.
    Redis에서는 요소를 왼쪽으로 밀어서 목록의 시작 부분에 추가하거나 목록의 끝에 오른쪽으로 밀어서 목록에 추가할 수 있습니다.
    다음은 Redis에서 목록을 사용해야 하는 명령입니다.
    새 목록을 작성하려면 LPUSH 또는 RPUSH 명령을 사용합니다.LPUSH는 지정된 목록의 시작 부분에 새 요소를 추가하고 RPUSH는 목록의 끝에 요소를 추가합니다.
    LPUSH 데이터베이스 MongoDB
    RPUSH 데이터베이스 MySQL

    특정 범위의 항목을 검색하려면 LRANGE 명령을 사용하고 start와 stop 값을 따라가십시오.
    예를 들어, 이전 4개의 값을 가져오려면 다음과 같이 LRANGE 명령을 사용할 수 있습니다.
    LRANGE databases 0 3

    이 명령은 색인 0에서 색인 4로 요소를 되돌려야 합니다.
    Redis 목록에서 요소를 제거하려면 LPOP 및 RPOP 명령을 사용할 수 있습니다.LPOP는 머리에서 요소를 제거하고 RPOP는 끝에서 요소를 제거합니다.
    LPOP 데이터베이스
    "Redis"
    LPOP/RPOP 명령은 목록에서 삭제된 요소의 값을 반환합니다.
    RPOP databases
    
    "Firebase"

    목록의 특정 색인 위치에서 값을 가져온다고 가정하십시오.LINDEX 명령을 다음과 같이 사용할 수 있습니다.
    LINDEX databases 2
    
    "MySQL
    주의해야 할 것은 본 강좌에서 논의한 명령보다 목록에서 사용하는 명령이 더 많다는 것이다.다음 링크에 제공된 문서를 고려하십시오.
    https://redis.io/commands#list

    해시 유형


    Redis는 해시를 데이터 유형으로도 지원합니다.우리는 해시를 키 값이 맞는 집합으로 정의할 수 있다.대부분의 경우, 해시는 문자열 필드와 값을 비추는 데 도움이 된다.
    예를 들어 환자 정보와 질병 수준을 저장해야 한다고 가정하자.우리는 조건을 키워드로 설정하고 값을 한 그룹의 키워드 - 값 쌍으로 설정할 수 있습니다. 여기에는 환자의 이름과 질병 수준이 포함되어 있습니다.
    다음 기본 명령을 사용하여 Redis의 해시를 처리할 수 있습니다.
    해시를 만들려면 HSET 명령을 사용합니다.이 명령은 키를 지정된 해시에 매핑합니다.
    HSET illness_1 "John Doe" 2
    위의 예시에서 우리는 해시를 만들었는데, 그 중에서disease\u1은 키입니다.
    해시의 키와 연관된 값을 가져오려면 HGET 명령을 사용하고 해시 이름과 특정 키를 사용합니다.
    예:
    HGET illness_1 "Bruce K"
    
    "1"

    전체 해시를 보려면 그림과 같이 HGETALL 명령을 사용합니다.
    HGETALL illness_1

    이 명령은 위의 화면 캡처와 같이 산열의 특정 키와 값을 되돌려야 합니다.
    해시에서 특정 키 값을 삭제하려면 HDEL 명령을 사용하고 해시 이름과 삭제할 키를 사용하십시오.
    예를 들어, 산열에서 JohnDoe에 대한 정보를 삭제합니다.우리는 할 수 있다.
    HDEL illness_1 "John Doe"
    
    (integer) 1
    이 명령은 삭제된 항목의 총 수를 되돌려줍니다.우리의 예시에서 키 값 쌍만 삭제했습니다.

    유형 설정


    다음은 Redis에서 지원하는 데이터 유형 세트입니다.집합은 목록과 매우 비슷하지만, 뚜렷한 차이가 있다. 목록은 중복된 값을 허용하지 않는다.
    따라서 우리는 집합을 유일한 무질서한 문자열 값의 집합으로 정의할 수 있다.집합이 정렬되지 않았습니다.이것은 색인 왼쪽이나 오른쪽에 항목을 추가하거나 삭제하는 기능을 삭제합니다.단, 유일한 값을 저장해야 할 때, 집합은 매우 유용하다.
    다음은 Redis에서 제공하는 컬렉션 처리 명령입니다.
    새 컬렉션을 만들려면 SADD 명령, 뒤축 키 및 저장할 값을 사용합니다.
    SADD my-key member1
    
    (integer) 1
    컬렉션의 모든 구성원을 가져오려면 SMEMBERS 명령을 사용합니다.
    SMEMBERS my-key
    
    1) "member4"
    
    2) "member2"
    
    3) "member3"
    
    4) "member1"
    
    5) "member5"
    항목이 컬렉션의 구성원인지 확인하려면 SISMEMBER 명령을 사용합니다.
    SISMEMBER my-key member3
    
    (integer) 1
    집합에 지정된 구성원이 있으면 명령이 되돌아옵니다.
    그러나 여러 번 집합에 구성원을 추가하면 항상 같은 결과가 나온다.
    집합에서 구성원을 삭제하려면 SREM, 뒤축 및 삭제할 구성원을 사용합니다.
    SREM my-key member1
    
    (integer) 1
    위의 명령은 삭제된 요소 수를 표시하는 정수 값을 되돌려야 합니다.

    정렬 세트 유형


    정렬 세트는 Redis의 기능 및 고급 데이터 유형입니다.정렬 집합은 세 개의 주요 구성 요소로 구성되어 있다.첫 번째는 키의 유일한 문자열입니다.두 번째는 구성원이고, 세 번째 값은 점수라고 한다.
    정렬 집합의 모든 요소는 부동점 값 (score) 에 비추고, 이 값을 사용하여 여러 순서대로 정렬합니다.
    다음은 Redis에서 정렬 세트와 상호 작용하는 기본 명령입니다.
    분수가 있는 정렬 세트에 멤버를 추가하려면 ZADD 명령을 사용합니다.
    ZADD mykey 1 member1
    ZADD 명령 후의 항목은 키, 분수, 멤버를 나타냅니다.
    컬렉션에서 항목의 위치를 기준으로 항목을 추출하려면 ZRANGE 명령을 사용합니다.
    ZRANGE mykey 0 100

    정렬 세트에서 항목을 삭제하려면 ZREM 명령을 사용합니다.
    ZREM mykey member6
    이와 유사하게 이 명령은 정렬 집합에서 삭제된 항목의 수를 표시하는 정수를 되돌려야 한다.

    마지막 생각


    이로써 우리는 우리의 강좌를 끝냈다.이 설명서에서는 Redis에서 여러 가지 데이터 유형을 처리하는 일련의 명령을 사용하는 방법을 학습했습니다.그러나 이 강좌는 Redis 데이터 형식을 여기에서 보여준 것보다 더 많이 소개할 수 있습니다.자세한 내용은 주요 문서를 참조하십시오.