ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 레디스 명령어 (4) Hash, Sorted Set
    오늘/Today I.. 2024. 11. 24. 01:48

     

    Redis의 Hash는  Hash데이터를 가져오기 위해 Key를 사용하고 

    Key에 저장된 Hash데이터에 Field - Value 쌍을 넣어주는 식으로 동작한다.

     

     

    HSET  

    HSET user:1 name boy age 20  city seoul    # 하나의 키에 복수의 필드와 밸류가 담김

     

     

    HGET    String 과는 다르게 키 와 필드까지 넣어서 확인해야함

    HMGET   2개 이상의 필드 지정 가능

    HGETALL   데이터 다 가져옴

    HGET user:1 name          # boy 반환
    
    HMGET user:1 name age       # boy 20 반환
    
    HGETALL user:1				# name boy age 20 city seoul 반환

     

     

     

    HKEYS         Hash에 포함된 모든 필드 이름 반환

    HLEN           Hash에 포함된 필드 개수 가져오기

    HEXISTS      특정 필드가 존재하는지 확인

    HVALS        Hash에 포함된 모든 값 반환

    HKEYS user:1         # name age city
    
    HLEN user:1        # 3
    
    HEXISTS user:1  name   # 1
    
    HVALS user:1         # boy 20 seoul

     

     

    정수와 소수의 경우 

    HINCRBY,  HINCRBYFLOAT 을 사용 가능하다.

     

     

     


     

     

     

     

    Sorted Set

     

    ZADD     key   score   value   순으로 저장됨.  Hash처럼 여러개를 한번에 넣을 수도 있음

    ZADD user:ranks 10 kim 				#  key  score  value
    
    ZADD user:ranks 10 kim  12 park           # 여러 값 한번에 넣기 가능

     

    ZINCRBY 가능

     

    ZSCORE   특정값의 점수 반환  (park  의 점수)

    ZRANK   순위 반환   (오름차순 정렬에서 순위 반환됨.  높은 점수일수록 아래에 있음)

    ZREVRANK  순위 반환  (내림차순 정렬.    높은 점수일수록 위에 있음)

    ZRANK user:ranks kim		# 1
    
    ZREVRANK user:ranks kim     # 2

     

     

    ZRANGE   지정한 범위의 값 반환  (낮은 점수부터 반환  랭크와 동일)

    ZREVRANGE   지정한 범위의 값 반환   (높은 점수부터 반환)

    ZRANGEBYSCORE    점수 범위 내 값 반환

    ZRANGE user:ranks 0 1
    
    ZRANGE user:ranks 0 1 WITHSCORES   # withscores 를 붙이면 반환값과 함께 점수도 포함됨
    
    ZRANGEBYSCORE user:ranks  0 15   # min값  max값 지정   뒤에 'LIMIT 숫자' 써서 갯수제한 가능

     

     

    ZREMRANGEBYRANK    지정된 순위 범위의 값 삭제  (ZRANGE   이것처럼 인덱스로 범위 줌)

    ZREMRANGEBYSCORE   지정된 점수 범위의 값 삭제  ( ZRANGEBYSCORE  이거 쓰는것과 같음  min, max.  limit 불가)

    ZCOUNT      특정 점수 범위의 값 개수 반환  (min, max)

     

     

     

     

     


     

     

     

     

    전체 적용

     

    DEL     삭제  (데이터타입 관계없이 싹 다 가능)

     

    EXPIRE   만료  (키값 뒤에 숫자주면 됨)

    EXPIRE  a   5		# 5초 후 만료

     

     

    EXPIRETIME        키의 만료시간을 확인하는데 사용  (초 단위)

    만료 시간이 없으면 -1

    키가 없으면 -2

     

     

    KEYS    키를 검색.   와일드카드 사용가능

     

    FLUSHDB  모든 키 다 삭제

     

    '오늘 > Today I..' 카테고리의 다른 글

    레디스  (0) 2024.11.25
    레디스 명령어 (3) set  (1) 2024.11.24
    레디스 명령어 (2) list  (0) 2024.11.24
    레디스 명령어 (1) String  (0) 2024.11.23
    MySQL 과 PostgreSQL  (1) 2024.11.19
Designed by Tistory.