ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • redis command 를 알아보자
    카테고리 없음 2023. 4. 20. 09:52
    레디스에는 다양한 커멘드를 지원한다. 그 중 가장 많이 쓰는 커멘드를 알아 보겠다.

    set

    일단 제일 기본적인 set 이다. 말그대로 데이터를 입력하는 것이다.
    127.0.0.1:6379> set key hi
    OK
    127.0.0.1:6379> set key1 wonwoo
    OK
    

    get

    데이터를 넣었으니 가져와야 한다.
    127.0.0.1:6379> get key
    "hi"
    127.0.0.1:6379> get key1
    "wonwoo"
    

    del

    데이터를 지우는 연산이다.
    127.0.0.1:6379> get key
    "hi"
    127.0.0.1:6379> del key
    (integer) 1
    127.0.0.1:6379> get key
    (nil)
    

    incr

    숫자를 증가 시키는 연산이다.
    127.0.0.1:6379> set count 10
    OK
    127.0.0.1:6379> incr count
    (integer) 11
    127.0.0.1:6379> incr count
    (integer) 12
    
    만약 숫자가 아닌 문자를 했을 경우에는 에러가 난다.

    incrby

    숫자만큼 더해주는 연산이다.
    127.0.0.1:6379> set count 100
    OK
    127.0.0.1:6379> incrby count 40
    (integer) 140
    

    lpush

    list의 자료구조 연산이다. 왼쪽부터 차례대로 넣는다.
    127.0.0.1:6379> lpush mylist hi
    (integer) 1
    127.0.0.1:6379> lpush mylist wonwoo
    (integer) 2
    127.0.0.1:6379> lpush mylist hello
    (integer) 3
    127.0.0.1:6379> lpush mylist world
    (integer) 4
    

    lpop

    넣었으니 빼야 된다. 여기서 주의할점은 빼는거다 가져오는것이 아니라 정확히는 가져와서 빼는거지...
    127.0.0.1:6379> lpop mylist
    "world"
    127.0.0.1:6379> lpop mylist
    "hello"
    

    lrange

    list의 값을 읽을수 있는 연산이다. 파라미터 2개가 주어지는데 첫번째는 시작점 두번째는 끝점이다. 만약 -(마이너스) 일경우에는 한바퀴도는 셈이다. 한번 보자
    127.0.0.1:6379> lpush mylist hi wonwoo hello world hello
    (integer) 5
    127.0.0.1:6379> lrange mylist 0 -1
    1) "hello"
    2) "world"
    3) "hello"
    4) "wonwoo"
    5) "hi"
    
    127.0.0.1:6379> LRANGE mylist 2 3
    1) "hello"
    2) "wonwoo"
    
    127.0.0.1:6379> LRANGE mylist 0 -3
    1) "hello"
    2) "world"
    3) "hello"
    
    
    한번 해보면 더 이해가 갈 것이다.

    rpush

    lpush와 마찬가지 이지만 자료구조 오른쪽에 넣는 것이다.
    127.0.0.1:6379> rpush mylist right
    (integer) 6
    127.0.0.1:6379> lrange mylist 0 -1
    1) "hello"
    2) "world"
    3) "hello"
    4) "wonwoo"
    5) "hi"
    6) "right"
    
    rpop은 있는데 rrange은 없는 듯하다.

    sadd

    자료 구조 Set으로 이해하면 되겠다. 중복을 허용하지 않는다.
    127.0.0.1:6379> sadd myset 1 10 222
    (integer) 3
    127.0.0.1:6379> SMEMBERS myset
    1) "1"
    2) "10"
    3) "222"
    127.0.0.1:6379> sadd myset 1
    (integer) 0
    

    smembers

    Set의 데이터를 가져오는 연산이다.
    127.0.0.1:6379> smembers myset
    1) "1"
    2) "10"
    3) "222"
    

    spop

    Set의 값을 꺼내오는 듯하다. 하지만 Set은 순서를 보장하지 않기에 순서가 자기 마음 대로다.
    127.0.0.1:6379> sadd myset 1 2 3
    (integer) 3
    127.0.0.1:6379> spop myset
    "1"
    127.0.0.1:6379> spop myset
    "3"
    127.0.0.1:6379> spop myset
    "2"
    127.0.0.1:6379> sadd myset 1 2 3
    (integer) 3
    127.0.0.1:6379> spop myset
    "3"
    127.0.0.1:6379> spop myset
    "2"
    127.0.0.1:6379> spop myset
    "1"
    

    hmset

    해쉬형태의 자료구조이다 key value로 입력가능하다.
    127.0.0.1:6379> hmset myhash key1 hello key2 world
    OK
    

    hget

    해쉬형태의 값을 가져오는 연산이다.
    127.0.0.1:6379> hget myhash key1
    "hello"
    

    hdel

    해쉬값을 지우는 연산이다.
    127.0.0.1:6379> hdel myhash key1
    (integer) 1
    127.0.0.1:6379> hget myhash key1
    (nil)
    
    일단 자주 쓰는 듯한 것을 알아 봤다. 더 많이 알아보고 싶다면 여기 자세히 나와 있다.

    댓글

Designed by Tistory.