SETRANGE

Redis Developer Course Redis Technical Support Redis Enterprise Server

위치 지정해서 데이터 쓰기

지정한 위치부터 데이터를 씁니다. 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

<< STRLEN SETRANGE GETRANGE >>

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