SETRANGE

<< STRLEN GETRANGE >>

위치 지정해서 데이터 쓰기

지정한 위치부터 데이터를 씁니다. Offset은 0부터 시작합니다.
사용법은 setrange key offset value 입니다.

Example

명령>set key "This is MySQL Server"
결과>OK
명령>setrange key 8 Redis
결과>20
명령>get key
결과>This is Redis Server

애니메이션 보기

offset은 음수를 사용할 수 없습니다.

Memory Usage Test

Memory usage bytes

MegabytesBytesPower of 2
2MB2,097,151221 -1
4MB4,194,303222 -1
8MB8,388,607223 -1
16MB16,777,215224 -1
32MB33,554,431225 -1
64MB67,108,863226 -1
128MB134,217,727227 -1
256MB268,435,455228 -1
512MB536,870,911229 -1

Redis Server 3.2.2 and CentOS 7

CommandsIncrease size(MB)Increase size(bytes)Return value
setrange key2 2097151 R2.5MB2,621,5202,097,152
setrange key4 4194303 R5MB5,242,9604,194,304
setrange key8 8388607 R10MB10,485,8408,388,608
setrange key16 16777215 R20MB20,971,60016,777,216
setrange key32 33554431 R40MB41,943,12033,554,432
setrange key64 67108863 R80MB83,886,37667,108,864
setrange key124 134217727 R160MB167,772,456134,217,728
setrange key256 268435455 R320MB335,544,616268,435,456
setrange key512 536870911 R640MB671,088,936536,870,912

바이트 536,870,912(229)을 입력하면 다음과 같은 에러가 발생한다.   그래서 2의 거듭제곱 바이트에 -1을 한 것이다.

127.0.0.1:7000> setrange key512 536870912 R
(error) ERR string exceeds maximum allowed size (512MB)


명령문

SETRANGE key offset value

  • 이 명령은 version 2.2.0 부터 사용할 수 있다.
  • 논리적 처리 소요시간은 처리하는 문자열에 따라 다릅니다.
    짧을 경우 O(1)로 봐도 되고, 문자열이 길 경우 O(M) 입니다. M은 value(데이터)의 길이입니다.
관련 명령 SET, GETRANGE, STRLEN
Clients for Java Jedis, Lettuce, Redisson
Clients for C Hiredis

명령을 실습해 보시려면 여기를 클릭해서 Redis Web Client 를 실행하세요.


<< STRLEN SETRANGE GETRANGE >>

질문하거나 댓글을 보려면 클릭하세요.  댓글수 :    조회수 :

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