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

Redis에서 키에 문자열 값 설정하기 – SET, SETNX, SETEX, PSETEX 명령어 총정리

이 튜토리얼에서는 Redis 데이터 저장소에서 지정된 키에 문자열 값을 설정하는 방법을 SET, SETNX, SETEX, PSETEX 명령어를 통해 자세히 알아보겠습니다.

1. SET 명령어

SET 명령어는 지정된 키에 문자열 값을 설정할 때 사용합니다. 만약 해당 키가 이미 존재한다면, 키의 타입과 관계없이 기존 값은 새로운 값으로 덮어써지며(overwrite), 이전에 설정되어 있던 만료 시간(expiration)도 함께 제거됩니다.

선택적 인자(Optional Arguments)

Redis의 SET 명령어는 다음과 같은 선택적 인자를 지원합니다.

  1. EX seconds : 키의 만료 시간을 초 단위로 설정합니다.
  2. PX milliseconds : 키의 만료 시간을 밀리초 단위로 설정합니다.
  3. NX : 키가 존재하지 않는 경우에만 문자열 값을 설정합니다.
  4. XX : 키가 이미 존재하는 경우에만 문자열 값을 설정합니다.

Redis SET 명령어의 기본 문법은 다음과 같습니다.

문법(Syntax) :

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

실행 결과(Output)

- OK : 연산이 성공적으로 수행되어 문자열 값이 설정된 경우
- Null : 연산이 실패하여 문자열 값이 설정되지 않은 경우

예제(Example)

Redis에서 키에 문자열 값 설정하기 – SET, SETNX, SETEX, PSETEX 명령어 총정리

2. SETNX 명령어

SETNX(SET if Not eXists) 명령어 역시 지정된 키에 문자열 값을 설정하는 데 사용됩니다. 다만, 키가 이미 존재하면 연산은 실패하고 0이 반환되며, 키가 존재하지 않을 때만 값이 저장되고 1이 반환됩니다.

Redis SETNX 명령어의 문법은 다음과 같습니다.

문법(Syntax) :

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

실행 결과(Output)

- 1 : 연산이 성공적으로 수행되어 문자열 값이 설정된 경우
- 0 : 연산이 실패하여 문자열 값이 설정되지 않은 경우

참고로 SETNX는 NX 옵션을 사용한 SET 명령어와 동일하게 동작합니다.

예제(Example)

Redis에서 키에 문자열 값 설정하기 – SET, SETNX, SETEX, PSETEX 명령어 총정리

3. SETEX 명령어

SETEX 명령어는 지정된 키에 문자열 값을 설정함과 동시에, 해당 키에 초 단위의 만료 시간을 부여합니다. 이 초(second) 값은 곧 키의 생존 시간(TTL, Time To Live)을 의미합니다. 만약 초 값이 0 또는 음수라면, 키는 즉시 삭제됩니다.

SETEX 명령어는 원자적(atomic)으로 동작하며, 아래 두 명령어를 순차적으로 실행한 것과 동일한 결과를 냅니다.

SET key value
EXPIRE key seconds

Redis SETEX 명령어의 문법은 다음과 같습니다.

문법(Syntax) :

redis host:port> SETEX <keyname> <seconds> <value>

실행 결과(Output)

- OK : 연산이 성공적으로 수행되어 문자열 값이 설정된 경우
- Null : 연산이 실패하여 문자열 값이 설정되지 않은 경우

참고로 SETEX는 EX 옵션을 사용한 SET 명령어와 동일하게 동작합니다.

예제(Example)

Redis에서 키에 문자열 값 설정하기 – SET, SETNX, SETEX, PSETEX 명령어 총정리

4. PSETEX 명령어

PSETEX 명령어는 SETEX 명령어와 매우 유사하지만, 한 가지 차이점이 있습니다. 바로 만료 시간을 초(second)가 아닌 밀리초(millisecond) 단위로 지정한다는 점입니다.

Redis PSETEX 명령어의 문법은 다음과 같습니다.

문법(Syntax) :

redis host:port> PSETEX <keyname> <milliseconds> <value>

실행 결과(Output)

- OK : 연산이 성공적으로 수행되어 문자열 값이 설정된 경우
- Null : 연산이 실패하여 문자열 값이 설정되지 않은 경우

참고로 PSETEX는 PX 옵션을 사용한 SET 명령어와 동일하게 동작합니다.

예제(Example)

Redis에서 키에 문자열 값 설정하기 – SET, SETNX, SETEX, PSETEX 명령어 총정리

참고 자료(References)

  1. SET Command Docs
  2. SETNX Command Docs
  3. SETEX Command Docs
  4. PSETEX Command Docs

지금까지 Redis 데이터 저장소에서 지정된 키에 문자열 값을 설정하는 네 가지 방법, 즉 SET, SETNX, SETEX, PSETEX 명령어에 대해 알아보았습니다. 각 명령어의 특징과 옵션을 잘 이해하고 상황에 맞게 활용해 보시기 바랍니다. 이 글이 도움이 되었다면 댓글로 의견을 남겨주시고, 주변에도 공유해 주세요!