INSERT ZSet


형식: INSERT INTO DATATYPE VALUES('KEY', SCORE, 'VALUE')
  예  : INSERT INTO ZSET VALUES('KEY', SCORE, 'VALUE')


ZSET 입력

  • ZSet key, score, value를 입력합니다. insert into zset values('zset1', 23.5, 'value1' [, 25.7, 'value2'])
  • 1 row(key, score, value) 입력: insert into zset values('zset1', 23.5, 'value1', 36.7, 'value2')
    이것은 ZADD 명령의 작동과 동일합니다.
  • 여러 row 입력: insert into zset values('zset2', 23.5, 'value1'), ('zset3', 36.7, 'value2')

Example

명령>insert into zset values('zset1', 23.5, 'value1', 36.7, 'value2');   opcode
결과>1 inserted
명령>insert into zset values('zset2', 23.5, 'value1'), ('zset3', 36.7, 'value2');   opcode
결과>2 inserted

Score(스코어) 오류

Example

명령>insert into zset values('zset4','AAA','value1');
결과>ERR value(score) is not a valid float

Performance 성능


ZSet

  • for i in {1..10000}; do src/redis-ecli -p 7000 zadd zset1 $i value$i; done -> 3.58us
  • for i in {1..10000}; do src/redis-ecli -p 7000 insert "insert into zset values('zset2',$i,'value$i')"; done -> 27.23us
  • 20개 score, value 입력
  • for i in {1..10000}; do src/redis-ecli -p 7000 zadd zset1 $i AAA$i $i BBB$i $i CCC$i $i DDD$i $i EEE$i $i FFF$i $i GGG$i $i HHH$i $i III$i $i JJJ$i $i AAX$i $i BBX$i $i CCX$i $i DDX$i $i EEX$i $i FFX$i $i GGX$i $i HHX$i $i IIX$i $i JJX$i; done; -> 19.61us
  • for i in {1..10000}; do src/redis-ecli -p 7000 insert "insert into zset values('zset2',$i,'AAA$i',$i,'BBB$i',$i,'CCC$i',$i,'DDD$i',$i,'EEE$i',$i,'FFF$i',$i,'GGG$i',$i,'HHH$i',$i,'III$i',$i,'JJJ$i', $i,'AAX$i',$i,'BBX$i',$i,'CCX$i',$i,'DDX$i',$i,'EEX$i',$i,'FFX$i',$i,'GGX$i',$i,'HHX$i',$i,'IIX$i',$i,'JJX$i')"; done; -> 55.37us

각각 1만회 실행 평균 소요 시간(단위: us(microsecond))

Datatype구분개수 성능
ZSetZADD 13.58us
INSERT 127.23us
ZADD 2019.61us
INSERT 2055.37us

OPCODE


insert into zset values('zset2', 23.5, 'value1'), ('zset3', 36.7, 'value2');

insert into hash values('myhash1', 'field1', 'value1', 'field2', 'value2');


<< Insert Set Insert ZSet Insert Hash >>

Email 답글이 올라오면 이메일로 알려드리겠습니다.