-
Redis : HASH 자료구조 :: HSET , HGET , HGETALL , HEXISTS , HDEL , HINCRBY , HINCRBYFLOAT , HSTRLEN , HKEYS , HVALSDB/Redis 2023. 12. 12. 00:01
Redis에서 Hash 자료구조를 생성하고 검색하는 방법
HSET , HGET , HGETALL , HEXISTS , HDEL 정도만 익히고 나머지는 필요시 참고 !
SET , GET 과 비슷해서 Hash 자료구조만 눈에 익으면 금방 사용할 수 있을것 같다.
HSET
형태
HSET key field1 value1 [field2 value2 ...]
이해가 힘들었기 때문에 작성해보는 해석
Hash 자료구조를 갖는 key 라는 이름의 키를 생성하는데, 키 값 구조를 갖추어야 하는 key 의 데이터로 field1 value1 , field2 value2 .. 를 저장한다. 이때 key 의 데이터는 1개 이상 저장 되어야 한다.
ex )
HSET 명령문의 실행 결과로 출력 된 숫자는
key 이름의 키에
2개의 키-값 쌍을 저장했음을 알려주는 것이다.
생성된 key 목록을 조회해보면 key 1개만 보여진다.
HGET
형태
HGET key field
Hash 자료구조인 key가 가지고 있는 1개의 field 값만 출력해볼 수 있다.
Hash 자료구조인 key 키에서 field2 의 값 조회
Hash 자료구조인 key 키에서 field1 의 값 조회
Hash 자료구조인 key 키에서 모든 필드의 값을 조회해보려고 시도하면 에러남
HGETALL
형태
HGETALL key
Hash 자료구조인 key가 가지고 있는 모든 field 값을 배열 형태로 출력
HEXISTS
Hash 자료구조인 key 에서 찾고자 하는 field가 있는지 검색
형태
HEXISTS key field
HDEL
Hash 자료구조를 갖는 key의
field value
쌍을 삭제형태
HDEL key field [field ...]
반환 값 : key에서 삭제된 field value 쌍 갯수
DEL
Hash 자료구조를 갖는
key
를 삭제형태
DEL key
HINCRBY
Hash INCRementBY 해시 자료형의 필드 값 증가 또는 감소 목적
형태
HINCRBY key field 증감숫자_정수
테스트를 위한 해시 데이터 셋팅 -> 키 이름 : test
HSET test name 김가나 score 90 weight 99.22
test 키의 score 값 10 증가
반환값 : 수정 된 값
test 키의 score 값 30 감소
반환값 : 수정 된 값
HINCRBYFLOAT
형태
HINCRBYFLOAT key field 증감숫자_실수
테스트를 위한 해시 데이터 셋팅 -> 키 이름 : test
HSET test name 김가나 score 90 weight 99.22
test 키의 weight 값 23.42 증가
반환값 : 수정 된 값
test 키의 weight 값 12.34 감소
반환값 : 수정 된 값
정수값이 들어있는 필드에도 적용 가능
test 키의 score 값 0.5 감소
오 부동소수점 이슈가 튀어나왔다 이 부분은 redis 자체적으로는 해결할 수 없다고 한다. java 등의 언어에서 2차 가공을 하는것이 최선이라는 정보를 구글링으로 얻어내었다!
HSTRLEN
Hash 자료구조인 key의 field에 저장된 데이터의 길이를 알아낼 수 있다.
형태
HSTRLEN key field
테스트 데이터 셋팅
test 키의 name 필드의 데이터 길이 출력
6이 나올 줄 알았는데 9가 나왔다
redis 는
UTF-8
인코딩 설정이 되어있어서한글
1자 당3Byte
로 해석된다!EUC-KR
은한글
1자 당2Byte
임
영어 문자열 길이 출력
HKEYS
Hash 자료구조를 가진 키에 저장된
필드 이름
모두 출력형태
HKEYS key
HVALS
Hash 자료구조를 가진 키에 저장된
필드의 값
들 모두 출력형태
HVALS key
'DB > Redis' 카테고리의 다른 글
링크 ) redis repository 사용하기 (0) 2023.12.13 Redis-cli : 한글 출력 인코딩 깨질 때 (0) 2023.12.13 Redis : SET 자료구조 :: SADD , SMEMBERS , SUNION , SINTER , SDIFF , SUNIONSTORE , SINTERSTORE , SDIFFSOTRE , SISMEMBER , SMISMEMBER , SCARD , SREM , SSCAN (0) 2023.12.13 redis : windows에 설치 (0) 2023.12.12 Redis : 기본 자료구조 :: SET , GET , MSET , MGET , DEL , KEYS (0) 2023.12.12