이 튜토리얼에서는 Redis 데이터 저장소에 지정된 키로 저장된 문자열 값의 일부를 업데이트하는 방법을 알아봅니다. 이 작업에는 Redis SETRANGE 명령어를 사용합니다.
SETRANGE 명령어란?
SETRANGE 명령어는 시작 오프셋(start offset, 포함 범위)을 인자로 받습니다. 이 오프셋은 문자열 값 중 어느 인덱스부터 업데이트할지를 결정합니다. 만약 시작 오프셋이 기존 문자열의 길이보다 크다면, 해당 오프셋 위치에 맞출 수 있도록 문자열 뒤에 0바이트(zero-bytes)가 자동으로 채워집니다.
인덱스는 0부터 시작합니다. 즉, 0은 첫 번째 문자, 1은 두 번째 문자를 의미하며 이후 같은 방식으로 계속됩니다.
또한 지정한 키가 Redis 데이터 저장소에 존재하지 않는 경우에는, 연산을 수행하기 전에 해당 키가 먼저 생성되고 빈 문자열로 초기화됩니다.
문법(Syntax)
redis host:post> SETRANGE <keyname> <start> <value>
- keyname: 값을 수정할 키의 이름
- start: 업데이트를 시작할 오프셋(0부터 시작)
- value: 덮어쓸 새로운 문자열 값
반환값(Output)
(integer) 수정 후 문자열의 전체 길이(문자 수). 키가 존재하지만 해당 키에 저장된 값이 문자열 타입이 아닌 경우 에러 반환.
예제(Example)

예를 들어 mykey에 "Hello World"라는 값이 저장되어 있을 때, SETRANGE mykey 6 "Redis"를 실행하면 6번째 인덱스부터 문자열이 대체되어 결과적으로 "Hello Redis"가 됩니다.
참고 자료(References)
- Redis 공식 문서 – SETRANGE Command Docs
지금까지 Redis 데이터 저장소에서 특정 키에 저장된 문자열 값의 일부를 업데이트하는 방법을 알아보았습니다. 내용이 유용했다면 댓글로 의견을 남겨주시고, 주변에도 널리 공유해 주세요!