SET

<< STRINGS DEL >>

저장

set은 데이터를 저장하는 명령입니다. 사용법은 set key value입니다.
get은 저장된 데이터를 가져오는 명령입니다.

Example

명령>set key value
결과>OK
명령>get key
결과>value


큰따옴표 사용

value 부분에서 띄어쓰기를 하려면 큰따옴표를 사용합니다.

Example

명령>set key "Hello Redis!"
결과>OK
명령>get key
결과>Hello Redis!


겹쳐쓰기

같은 key로 SET 명령을 실행하면 이전 value는 지워지고 새로 입력한 value가 남습니다.

Example

명령>set key Hello
결과>OK
명령>set key GoodBye
결과>OK
명령>get key
결과>GoodBye

애니메이션 보기

Note 겹쳐쓰기를 하지 않으려면 NX 옵션을 사용합니다.   NX, XX, EX, PX 옵션은 버전 2.6.12에서 추가되었습니다.


겹쳐쓰기 방지

NX 옵션을 사용하면 데이터베이스에 같은 키가 없을 경우에만 저장됩니다.
NX 옵션은 lock 처리에 주로 사용합니다. 왜냐하면 단일 명령으로 데이터가 있는지 확인하고 저장까지 할 수 있기 때문입니다.

Example

명령>set key1 Hello NX
결과>OK
명령>set key1 Redis NX
결과>(nil)
명령>get key1
결과>Hello

애니메이션 보기

NX 옵션은 대.소문자 구분 없이 사용가능합니다.
첫 번째 명령은 데이터베이스에 key1이 없으므로 데이터가 정상적으로 저장되었습니다.
두 번째 명령은 첫 번째 명령이 실행되어 key1이 저장되어 있으므로 (nil)을 리턴합니다.
이 옵션은 SETNX 명령과 같은 동작을 합니다.


데이터베이스에 이미 키가 있을 경우에만 저장

XX 옵션은 지정한 키가 이미 데이터베이스에 있을 경우에만 저장됩니다.

Example

명령>set key2 Hello XX
결과>(nil)
명령>set key2 Hello
결과>OK
명령>set key2 Redis XX
결과>OK
명령>get key2
결과>Redis

애니메이션 보기

레디스의 모든 옵션은 대.소문자 구분 없이 사용가능합니다.
XX 옵션을 사용한 첫 번째 명령은 데이터베이스에 key2가 없으므로 데이터가 저장되지 않습니다.
두 번째는 XX 옵션을 사용하지 않았으므로 저장됩니니다.
세 번째는 데이터베이스에 key2가 있으므로 정상적으로 저장됩니다.


지정한 시간 이후에 데이터 지워짐: 초 단위 지정

EX 초(second) 옵션은 지정한 초 이후에 데이터가 지워집니다.
만료 시간을 갖는 데이터를 저장할 때 유용하게 쓰입니다.

Example

명령>set key3 Hello EX 5
결과>OK
명령>get key3   1초 후
결과>Hello
명령>get key3   5초 후
결과>(nil)

애니메이션 보기

이 옵션은 SETEX 명령과 같은 동작을 합니다.


지정한 시간 이후에 데이터 지워짐: 1/1000초 단위 지정

PX 밀리초(millisecond) 옵션은 지정한 밀리초 이후에 데이터가 지워집니다.
세밀한 만료 시간을 지정할 때 사용합니다.

Example

명령>set key3 Hello PX 5000
결과>OK
명령>get key3   1초 후
결과>Hello
명령>get key3   5초 후
결과>(nil)
이 옵션은 PSETEX 명령과 같은 동작을 합니다.


명령문

SET key value [NX|XX] [EX 초] [PX 밀리초]

  • 이 명령은 version 1.0.0 부터 사용할 수 있습니다.
  • NX, XX, EX, PX 옵션은 버전 2.6.12에서 추가되었습니다.
  • 논리적 처리 소요시간은 O(1)입니다.
관련 명령 SETNX, SETEX, PSETEX, TTL, PTTL, MSET, APPEND
Clients for Java Jedis, Lettuce, Redisson
Clients for C Hiredis

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


<< STRINGS SET DEL >>

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

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