[Redis] Redis Data Type(1)

배지원·2023년 10월 23일

Redis

목록 보기
2/5

1. String

  • 가장 기보적인 데이터 타입으로 제일 많이 사용됨
  • 바이트 배열을 저장

(1) SET

  • 키(Key)와 값을 설정합니다.
SET key value

(2) GET

  • 주어진 키(Key)에 해당하는 값을 가져옵니다.
GET key

(3) INCR

  • 키(Key)에 저장된 값을 1씩 증가시킵니다.
INCR key

(4) DECR

  • 키(Key)에 저장된 값을 1씩 감소시킵니다.
DECR key

(5) APPEND

  • 기존 값 뒤에 추가로 문자열을 붙입니다.
APPEND key value

(6) STRLEN

  • 주어진 키(Key)의 값의 길이를 반환합니다.
STRLEN key

(7) SETEX (SET with EXPIRE)

  • 지정된 시간 후에 자동으로 만료되는 값을 설정합니다.
SETEX key seconds value

(8) GETSET (GET and SET)

  • 주어진 키(Key)의 현재 값을 가져오고, 동일한 키에 새로운 값을 설정합니다.
GETSET key new_value

(9) MGET (Multiple GET)

  • 여러 개의 키를 동시에 조회하여 값들을 반환합니다.
MGET key1 key2 ...

(10) MSET (Multiple SET)

  • 여러 개의 키-값 쌍을 동시에 설정합니다.
MSET key1 value1 key2 value2 ...

더 많은 데이터는 Redis String 명령어에서 확인 가능



2. List

  • Linked-list 형태의 자료구조(인덱스 접근 느림, 데이터 추가/삭제 빠름)
  • Queue와 Stack으로 사용 가능

(1) LPUSH

  • 리스트의 왼쪽(첫 번째)에 요소를 추가합니다.
  • 먼저 입력한 값이 먼저 들어감(aaa, bbb순으로 입력했다면 linked list에는 bbb -> aaa 으로 가장 왼쪽 값이 bbb임)
LPUSH key value1 value2 ...

(2) RPUSH

  • 리스트의 오른쪽(마지막)에 요소를 추가합니다.
RPUSH key value1 value2 ...

(3) LPOP

  • 리스트의 왼쪽(첫 번째)에서 요소를 제거하고 반환합니다.
LPOP key

(4) RPOP

  • 리스트의 오른쪽(마지막)에서 요소를 제거하고 반환합니다.
RPOP key

(5) LINDEX

  • 주어진 인덱스에 해당하는 요소를 가져옵니다.
LINDEX key index

(6) LRANGE

  • 주어진 범위 내의 요소들을 가져옵니다.
LRANGE key start stop

(7) LLEN (List Length)

  • 리스트의 길이(요소 개수)를 반환합니다.
LLEN key

(8) LREM (List Remove)

  • 주어진 값과 일치하는 요소들을 삭제합니다.
LREM key count value

(9) LSET (List Set)

  • 주어진 인덱스 위치에 값을 설정합니다
LSET mylist 0 "newvalue"

(10) LTRIM (List Trim)

  • 시작과 끝 인덱스 사이의 범위 이외의 모든 값을 삭제하여, 특정 범위 내로만 리스트를 잘라냅니다
LTRIM mylist 0 2

(11) RPOPLPUSH

  • 한리스트 의 마지막값을 다른리스트로 옮깁니다
RPOPLPUSH source destination


3. Sets

  • 순서가 없는 유니크한 집합
  • 검색이 빠름
  • 중복값 제거

(1) SADD

  • 집합(Set)에 멤버를 추가합니다.
>> SADD key member1 member2 ...

(2) SMEMBERS

  • 집합의 모든 멤버를 반환합니다.
>> SMEMBERS key

(3) SISMEMBER

  • 주어진 멤버가 집합에 속하는지 여부를 확인합니다.
  • 존재하면 1, 존재하지 않으면 0
>> SISMEMBER key member

(4) SCARD (Set Cardinality)

  • 집합의 크기(멤버 개수)를 반환합니다.
>> SCARD key

(5) SREM (Set Remove)

  • 주어진 멤버들을 집합에서 제거합니다.
>> SREM key member1 member2 ...

(6) SPOP

  • 랜덤한 하나의 요소를 제거하고 반환
>> SPOP key

(7) SRANDMEMBER

  • 랜덤한 하나 혹은 여러개 요소들을 반환
>> SRANDMEMBER key [count]

(8) SUNIONSTORE

  • 여러개의 set을 합쳐서 새로운 set으로 저장
>> SUNIONSTORE destination_key source_key1 source_key2


추가적으로 더 알고 싶은 명령어는 Redis Set 명령어에서 확인 가능



4.Hashes

  • 하나의 Key 하위에 여러개의 field-value 쌍을 저장
  • map 구조와 비슷함

(1) HSET

  • 해시에 필드와 값을 설정합니다.
>> HSET key field value

(2) HGET

  • 해시에서 지정된 필드의 값을 가져옵니다.
>> HGET key field

(3) HMSET

  • 해시에 여러 개의 필드와 값을 설정합니다.
>> HMSET key field1 value1 field2 value2 ...

(4) HMGET

  • 해시에서 여러 개의 필드에 해당하는 값들을 가져옵니다.
>> HMGET key field1 field2 ...

(5) HDEL

  • 해시에서 지정된 필드를 삭제합니다.
>> HDEL key field1 field2 ...

(6) HLEN (Hash Length)

  • 해시의 길이(필드 개수)를 반환합니다.
>> HLEN key

(7) HKEYS

  • 해쉬의 모든 키를 반환
>> HKEYS key

(8) HVALS

  • 해쉬의 모든 값들을 반환
>> HVALS key

(9) HEXISTS

  • 주어진 키와 일치하는 필드가 있는지 확인
>> HEXISTS key field

(10) HINCRBY

  • 주어진 키와 일치하는 필드의 값을 증가 시킴
>> HINCRBY myhashfield increment_value


추가적으로 더 알고 싶은 명령어는 Redis Hash 명령어에서 확인 가능



profile
Web Developer

0개의 댓글