Redis 에서 해시 형식의 상용 명령 소결

Redis 해시 형식
Redis 는 사전 구 조 를 사용 하여 키 값 이 맞 는 형식 으로 데 이 터 를 저장 하 는 것 이 며,해시 형식(hash)의 키 값 도 사전 구조 로 필드 와 필드 값 의 맵 을 저장 하지만 필드 값 은 문자열 일 뿐 다른 데이터 형식 은 지원 되 지 않 습 니 다.즉,해시 유형 은 다른 데이터 형식 을 포함 할 수 없습니다.해시 형식 키 는 최대 2^32-1 필드 를 포함 할 수 있 습 니 다.
해시 형식 을 제외 하고 Redis 의 다른 데이터 형식 역시 데이터 형식 끼 워 넣 기 를 지원 하지 않 습 니 다.예 를 들 어 집합 형식의 모든 요 소 는 문자열 일 뿐 집합 이나 해시 표 일 수 없습니다.
해시 형식 은 저장 대상 에 적합 합 니 다.대상 유형 과 ID 를 사용 하여 이름 을 만 들 고 필드 를 사용 하여 대상 의 속성 을 표시 하 며 필드 값 은 속성 값 을 저장 합 니 다.예 를 들 어 ID 가 2 인 자동차 대상 을 저장 하려 면 각각 color,name,price 라 는 세 개의 필드 를 사용 하여 자동차의 색상,이름,가격 을 저장 할 수 있다.

1.기본 명령
예 를 들 어 현재 ID 가 1 인 글 을 저장 하려 면 title,author,time,content 가 있 습 니 다.
키 는 post:1 이 고 필드 는 title,author,time,content 이 며 값 은 각각"the first post","me","2014-03-04","This is my first post."로 다음 과 같이 저 장 됩 니 다.

redis 127.0.0.1:6379> hmset post:1 title "the first post" author "JoJo" time 2016/08/25 content "this is my first post"
OK
여기 서 사용 하 는 것 은 hmset 명령 입 니 다.구체 적 으로 해시 되 어 있 는 기본 할당 명령 은 다음 과 같 습 니 다.hset key field value    #예 를 들 어 hset post:2 title"second post"hget key field              #예 를 들 어 hget post:2 title,id 가 2 인 post 의 title 값 가 져 오기hmset key field value [field value ...]  \#이 동상,대량 저장 값hmget key field [field ...]                       #대량 추출,목록 획득
예:

redis 127.0.0.1:6379> hmget post:1 time author
1) "2016/08/25"
2) "JoJo"
hgetall key                   #key 에 대응 하 는 모든 키 목록 을 가 져 옵 니 다.예 를 들 어 보 겠 습 니 다.

redis 127.0.0.1:6379> hgetall post:1
1) "title"
2) "the first post"
3) "author"
4) "JoJo"
5) "time"
6) "2016/08/25"
7) "content"
8) "this is my first post"
 2.존재 여 부 를 판단 한다.

hexists key field
1 을 되 돌려 주 는 것 이 존재 하지 않 으 면 0 을 되 돌려 줍 니 다(키 가 존재 하지 않 으 면 0 을 되 돌려 줍 니 다).
3.필드 가 존재 하지 않 을 때 값 부여

hsetnx key field value
이 와hset의 차 이 는 필드 가 존재 하면 이 명령 은 어떠한 조작 도 하지 않 는 다 는 것 이다.그러나 여기 서 하나의 차이 점 은 Redis 가 제공 하 는 이 명령 들 은 모두 원자 조작 으로 데이터 불일치 문제 가 발생 하지 않 는 다 는 것 이다.
예:

redis 127.0.0.1:6379> hexists post:1 time
(integer) 1  //     time   
redis 127.0.0.1:6379> hsetnx post:1 time 2016/08/26
(integer) 0  //     ,  time,      0,   ,   
redis 127.0.0.1:6379> hget post:1 time
"2016/08/25"
redis 127.0.0.1:6379> hsetnx post:1 age 23
(integer) 1   //   age  ,  1,   age  
redis 127.0.0.1:6379> hget post:1 age
"23"
4.숫자 증가

hincrby key field number
이곳 은incry명령 과 유사 하 다.
예:

redis 127.0.0.1:6379> hincrby post:1 age 2
(integer) 25
5.필드 삭제

hdel key field [field ...]
필드 를 삭제 합 니 다.하나 이상,반환 값 은 삭 제 된 필드 의 개수 입 니 다.
6.기타 명령hkeys key     #필드 이름 가 져 오기hvals key     #필드 이름 가 져 오기
예 는 다음 과 같다.

redis 127.0.0.1:6379> hkeys post:1
1) "title"
2) "author"
3) "time"
4) "content"
5) "age"
redis 127.0.0.1:6379> hvals post:1
1) "the first post"
2) "JoJo"
3) "2016/08/25"
4) "this is my first post"
5) "25"
마지막 으로 필드 수 를 가 져 오 라 는 명령 이 있 습 니 다.

hlen key
필드 의 수 를 되 돌려 줍 니 다.

redis 127.0.0.1:6379> hlen post:1
(integer) 5
총결산
이상 은 레 디 스에 서 자주 사용 되 는 명령 을 해시 하 는 모든 내용 입 니 다.여러분 의 학습 이나 업무 에 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 댓 글 을 남 겨 주 십시오.

좋은 웹페이지 즐겨찾기