-
레디스 명령어 (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