이전에 redis-cli
로 Redis 서버에 접속하는 것까지 해 봤습니다. 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]
incr
과 decr
각각 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 |