이전에 redis-cliRedis 서버에 접속하는 것까지 해 봤습니다. Redis에는 많은 데이터 타입들이 있는데, 가장 기본은 문자열입니다. Redis에서 문자열은 Byte string, 정수, 실수를 저장하기 위해 사용됩니다. 가장 일반적인 형태의 key-value store로서 redis를 사용하기 위한 타입이며, 여기서는 string 타입을 위한 get, set 등의 기본 조작을 수행해 봅시다.

set [key] [value] [EX seconds] [PX milliseconds] [NX|XX]

set은 redis에 key-value 매핑을 설정하기 위해 사용합니다. 기본적인 커맨드는 set key value이며, EX나 PX 등을 통해 해당 매핑에 expire(유효 기한)을 설정할 수 있습니다.

127.0.0.1:6379> set a 1
OK

key가 "a", value가 1이며 유효 기한은 없습니다. 별도로 제거하지 않는 이상 계속해서 남아 있습니다.

127.0.0.1:6379> set b 2 EX 3
OK

key가 "b", value가 2이며 유효 기한은 3초입니다.

set 명령어는 기본적으로 insert를 수행하나, key가 이미 존재한다면 update를 수행합니다.

127.0.0.1:6379> set a 1
OK
127.0.0.1:6379> set a 3
OK
127.0.0.1:6379> set a 10
OK

get [key]

key에 해당하는 value를 반환합니다. 존재하지 않는 경우 (nil)을 반환합니다. Redis는 key들을 해시하므로, 시간복잡도는 O(1)으로 고정됩니다.

127.0.0.1:6379> get a
"10"
127.0.0.1:6379> get b
(nil)

incr [key], decr [key]

incrdecr 각각 key에 해당하는 value를 숫자로 평가 가능한지 판단한 이후, 1 증가시키거나, 감소시킵니다.

127.0.0.1:6379> set a 1
OK
127.0.0.1:6379> incr a
(integer) 2
127.0.0.1:6379> incr a
(integer) 3
127.0.0.1:6379> decr a
(integer) 2

value를 숫자로 평가할 수 없는 경우, 에러가 발생합니다.

127.0.0.1:6379> set a abc
OK
127.0.0.1:6379> incr a
(error) ERR value is not an integer or out of range

exists [key ...]

1개 이상의 key들을 받아 각각이 redis에 존재하는지를 검사하고, 존재하는 매핑의 수를 반환합니다.

127.0.0.1:6379> set a 1
OK
127.0.0.1:6379> set b 3
OK
127.0.0.1:6379> exists a
(integer) 1
127.0.0.1:6379> exists a b
(integer) 2
127.0.0.1:6379> exists a b abc cde q s
(integer) 2

del [key ...]

1개 이상의 key들을 받아 해당하는 매핑을 제거하고, 제거한 매핑의 수를 반환합니다.

127.0.0.1:6379> set a 1
OK
127.0.0.1:6379> set b 3
OK
127.0.0.1:6379> set c 5
OK
127.0.0.1:6379> del a
(integer) 1
127.0.0.1:6379> del b c d e
(integer) 2


'데이터베이스 > Redis' 카테고리의 다른 글

[Redis] Eval  (0) 2018.09.06
[Redis] Pipelining  (0) 2018.09.06
[Redis] List의 고급 커맨드들  (0) 2018.09.06
[Redis] List  (0) 2018.09.06
[Redis] select  (0) 2018.09.06

+ Recent posts