Computer >> 컴퓨터 >  >> 프로그래밍 >> Redis

Redis GETSET 명령어 완벽 가이드 – 키의 새 문자열 값을 설정하고 이전 값 반환하기

이번 튜토리얼에서는 Redis의 GETSET 명령어를 사용하여 특정 키에 새로운 문자열 값을 설정하고, 동시에 기존(이전) 문자열 값을 반환받는 방법을 알아보겠습니다.

GETSET 명령어란?

GETSET 명령어는 지정된 키에 새로운 문자열 값을 설정한 뒤, 그 키에 저장되어 있던 이전 문자열 값을 반환합니다. 이 명령어는 원자적(atomically)으로 동작하기 때문에, 값을 읽고 쓰는 과정 사이에 다른 클라이언트의 개입 없이 한 번의 연산으로 처리됩니다.

  • 키가 존재하지 않는 경우: (nil)을 반환합니다.
  • 키는 존재하지만 저장된 값이 문자열이 아닌 경우: 에러를 반환합니다.

문법(Syntax)

redis host:port> GETSET <keyname> <value>

반환값(Output)

(string) reply : 키에 저장되어 있던 이전 문자열 값
(nil) reply    : 키가 존재하지 않는 경우
Error          : 키는 존재하지만 저장된 값이 문자열이 아닌 경우

사용 예제

redis host:port> SET mykey "hello"
"OK"
redis host:port> GETSET mykey "world"
"hello"
redis host:port> GET mykey
"world"

위 예제에서 볼 수 있듯이, GETSET은 새 값 "world"를 설정하는 동시에 이전 값인 "hello"를 반환합니다. 참고로 GETSET은 Redis 6.2 버전부터 SET 명령어에 GET 옵션(SET key value GET)이 추가되면서 대체 가능해졌지만, 하위 버전 호환성을 위해 여전히 널리 사용됩니다.

참고 자료

  1. Redis 공식 문서 – GETSET Command Docs

지금까지 Redis 데이터 스토어에서 키에 새 문자열 값을 설정하고 이전 값을 반환하는 방법에 대해 알아보았습니다. 이 글이 도움이 되었다면 댓글로 의견을 남겨주시고, 주변에도 널리 공유해 주세요!

<- String Commands 목록으로 돌아가기