티스토리 뷰

DataBase/Redis

[Redis] Redis 명령어

IT공부블로그 2019. 5. 28. 13:23
728x90
반응형

정확한 내용을 확인하려면 공식사이트를 확인해야 한다. 이곳에 모든 명령어들이 있다.

명령어는 각 상황에 맞는 특별한 약어들로 짧게 구성되어져 있으니 잘 생각해 보면 쉽게 기억할 수 있다. 또한 각 명령어는 사용가능한 버전과 시간복잡도가 같이 명시되어 있으니 해당 명령을 시스템에 적용하기전 체크할 수 있으니 꼭 체크하자.


key 관련



DEL key [key …]

열거한 키들을 지운다. 없는 키는 무시한다.


DUMP key

Redis만의 특별한 포맷으로 저장하는 값을 돌려준다.

이 값에는 64-bit checksum 값이 포함되어 있어 오류를 검출 할 수 있다.

RESTORE명령으로 복구 할 수 있다.


EXISTS key

해당키의 존재 유무를 알려준다. 키가 존재하면 1을 돌려준다.


EXPIRE key seconds

키의 타임아웃을 지정한다. 설정된 키는 자동으로 몇 초 후에 삭제된다.


EXPIREAT key timestamp

EXPIRE와 같다. 하지만 Unix Timestamp를 기준으로 언제 삭제될지 명확히 시각을 지정한다.


KEYS pattern

특정 패턴에 일치되는 키들을 보여준다. 모든 키를 보려면 “keys *”를 사용할 수 있다.


MIGRATE host port key destination-db timeout

지정한 Redis 인스턴스의 해당 DB로 명시한 키를 원자적으로 이동시킨다.


MOVE key db

해당 DB로 키를 이동 시킨다.


OBJECT subcommand [arguments [arguments …]]

Redis Object의 내부 정보를 볼 수 있다.

해당 키가 참조되고 있는 개수, 해당 키가 읽히거나 쓰이고 난 후의 시간, 해당 키의 인코딩방식


PERSIST key

만료시간을 삭제한다.


PEXPIRE key milliseconds

밀리세컨드 단위의 만료 시간을 설정 한다.


PEXPIREAT key milliseconds-timestamp

밀리세컨드단위의 Unix Time stamp로 만료 시각을 설정 한다.


PTTL key

남아있는 만료시간을 밀리세컨드 단위로 보여준다.


RANDOMKEY

현재 DB에서 아무키나 돌려준다.


RENAME key newkey

키이름을 새로운 키로 바꿔준다.

잘못하면 기존의 키를 덮어쓸 수 있다.


RENAMENX key newkey

키이름을 새로운 키로 바꿔준다. 키를 덮어쓰지 않는다.


RESTORE key ttl serialized-value

DUMP했던 값을 가지고 키를 복구 한다.

복구하면서 만료시간을 설정 할 수 있다.


SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern …]] [ASC|DESC] [ALPHA] [STORE destination]

해당 키의 리스트, 집합, 정렬집합을 정렬해 준다.


TTL key

남아 있는 시간을 초단위로 돌려준다.


TYPE key

해당 키의 타입을 돌려준다.


String 관련

APPEND key value

이미 존재하는 String 타입인 키의 값을 덧붙인다.


BITCOUNT key [start] [end]

키에 설정된 String타입인 값의 bit가 1로 셋팅된 값을 총 합을 구한다.

해당 키가 존재하지 않으면 0을 리턴한다.

-1은 마지막 바이트를 가르키고, -2는 끝에서 두번째 바이트를 가르킨다.


BITOP operation destkey key [key …]

여러개의 키를 비트연산(AND, OR, XOR, NOT)후에 지정한 키에 저장한다.


DECR key

해당 키가 integer일때 값을 하나 감소 시킨다.


DECRBY key decrement

해당 키가 integer일때 decrement만큼 값을 감소 시킨다.


GET key

해당 키의 값을 가져온다.


GETBIT key offset

해당 키의 offset에 위치한 비트를 돌려준다.


GETRANGE key start end

start~end 까지 키의 문자열을 반환한다.

음수를 쓸 수 있다.

-1은 마지막 글자를 의미한다.

-3 ~ -1까지는 마지막 3글자 나타낸다.


GETSET key value

해당 키의 값을 설정하고 이전 값을 반환한다.


INCR key

해당 키가 integer일때 값을 하나 증가 시킨다.


INCRBY key increment

해당 키가 integer일때 increment 만큼 증가시킨다.


INCRBYFLOAT key increment

해당 키를 float으로 다룰 수 있다면 increment만큼 증가시킨다.

다룰 수 있다해도 해당 키는 string 타입이다.


redis> SET mykey 10.50

OK

redis> INCRBYFLOAT mykey 0.1

"10.6"

redis> SET mykey 5.0e3

OK

redis> INCRBYFLOAT mykey 2.0e2

"5200"

redis>


MGET key [key …]

여러개의 값을 가져온다.


MSET key value [key value …]

여러개의 키를 설정한다.


MSETNX key value [key value …]

여러개의 키들이 모두 존재하지 않을때 해당 키들을 설정한다.


PSETEX key milliseconds value

해당 키를 설정하고 밀리세컨드 단위로 만료 시간을 설정한다.


SET key value

해당 키를 해당 값으로 설정한다.


SETBIT key offset value

해당 키에 해당하는 오프셋 만큼 떨어진 곳의 bit를 키거나 끈다.


SETEX key seconds value

해당 키에 해당 값을 설정하고 만료 시간을 설정한다.


SETNX key value

해당 키가 없다면 해당 키에 값을 설정한다. “SET if Not eXists”의 약자이다.


SETRANGE key offset value

offset부터 해당 키의 값을 덮어 쓴다.


STRLEN key

문자열의 길이를 반환한다. 해당 키가 없다면 0을 반환한다.


Hash 관련



HDEL key field [field …]

해당 해쉬의 필드를 지운다.

성공하면 1을 실패하면 0을 리턴하며, 2.4버전 이후부터는 여러개의 필드를 지시할 수 있다.


HEXISTS key field

해당 해쉬의 지정한 필드가 존재한다면 1을 반환한다.


HGET key field

해당 해쉬의 필드 값을 가지고 온다.


HGETALL key

해당 해쉬의 모든 필드를 Multi-bulk reply로 반환한다.


HINCRBY key field increment

해당 해쉬의 필드가 integer 타입이라면 해당 값을 1증가시키고 반환한다.


HINCRBYFLOAT key field increment

해당 해쉬의 필드를 increment만큼 증가시킨다. INCRBYFLOAT를 참고하라.


HKEYS key

해당 해쉬의 모든 필드를 Multi-bulk reply로 반환한다.


HLEN key

해당 해쉬의 총 필드 개수를 반환한다.


HMGET key field [field …]

해당 해쉬의 여러개의 필드값을 반환한다.


HMSET key field value [field value …]

해당 해쉬의 여러개의 필드값을 설정한다.


HSET key field value

해당 해쉬의 필드값을 설정한다.


HSETNX key field value

해당 해쉬의 필드가 없을때 해당 필드의 값을 설정한다.

성공하면 1을 실패하면 0을 반환한다.


HVALS key

해당 해쉬의 모든 필드의 값을모아서 반환한다.


List 관련



BLPOP key [key …] timeout

LPOP의 블로킹 버전이다.


BRPOP key [key …] timeout

RPOP의 블러킹 버전이다. 만약 List에 요소가 아무것도 없다면 새로운 요소가 나타나길 timeout만큼 기다린다. timeout이 0이라면 무한정 기다린다. 재미있는것은 지정할 수 있는 List가 여러개라는 점이다.


BRPOPLPUSH source destination timeout

RPOPLPUSH의 블러킹 버전이다. timeout만큼 source List의 요소가 생길때까지 블러킹 된다.


LINDEX key index

해당 index에 위치한 값을 돌려준다.


LINSERT key BEFORE|AFTER pivot value

List의 앞쪽부터 탐색하며 pivot 요소와 일치하는 index의 앞쪽이나 뒤쪽에 요소를 삽입한다.


LLEN key

해당 List의 키의 갯수를 돌려준다.


LPOP key

첫번째 요소를 삭제하고 돌려준다.


LPUSH key value [value …]

요소들을 앞쪽부터 채운다.


LPUSHX key value

지정한 List가 있을때 앞쪽에 요소를 붙인다.


LRANGE key start stop

index의 처음과 끝을 지정해서 요소들을 가지고 온다. 

start를 0 stop을 -1로 지정하면 List전체 요소를 가지고 온다.


LREM key count value

해당 요소와 같은 요소를 count만큼 제거한다.

count가 0이면 모든 요소를 제거한다.

count가 0보다 크면 List의 앞쪽부터 해당하는 갯수의 같은 요소를 제거한다.

count가 0보다 작으면 List의 뒤쪽부터 해댕하는 갯수의 절대갓 만큼 같은 요소를 제거한다.


LSET key index value

지정한 index에 요소를 교체한다. 만약 index가 해당 list의 범위를 넘는다면 ‘index out of range’에러를 뱉는다.


LTRIM key start stop

index의 시작과 끝만 남긴 내용을 삭제한다.


RPOP key

마지막 요소를 삭제하고 돌려준다.


RPOPLPUSH source destination

source를 마지막 요소를 제거해서 dest의 앞쪽에 요소를 붙인다.

쉽게 생각한다면, 2개의 리스트가 있고 어떤 리스트의 마지막을 때서 다른 리스트의 머리에 붙인다고 생각하면 쉽다.


RPUSH key value [value …]

요소들을 뒤쪽부터 채운다.


RPUSHX key value

해당 키가 이미 있을 때 요소를 뒤쪽에 밀어 넣는다.


Set 관련



SADD key member [member …]

Set에 요소를 추가한다. 당연한 이야기지만 중복된 요소는 한번만 나타난다.


SCARD key

Set의 카디날리티를 구한다. Set의 요소 개수를 반환한다.


SDIFF key [key …]

첫번째 Set의 요소 중 뒤에 나열한 Set를 빼고난 후의 요소들을 반환한다.


SDIFFSTORE destination key [key …]

SDIFF와 같은 연산을 한다. 연산 후 dest에 연산 결과를 저장한다. 만약 해당 dest가 존재하면 덮어 쓴다.


SINTER key [key …]

여러개의 Set들의 교집합을 구한다.


SINTERSTORE destination key [key …]

SINTER와 같은 연산을 한다. 연산 후 dest에 연산 결과를 저장한다. 만약 해당 dest가 존재하면 덮어 쓴다.


SISMEMBER key member

해당 Set에 요소가 있는지 확인한다. 요소가 있다면 1 없다면 0을 반환한다.


SMEMBERS key

해당 Set의 모든 요소를 반환한다.


SMOVE source destination member

source의 요소를 dest로 옮긴다. 성공하면 1 실패하면 0을 반환한다.


SPOP key

Set 요소중 아무거나 하나 반환한다. SRANDMEMBER와 비슷하다고 볼 수 있으나, SPOP은 반환 된 요소는 삭제된다.


SRANDMEMBER key [count]

2.6버전 부터 count를 지정할 수 있다. Set의 멤버중 count만큼 랜덤하게 반환한다. count가 양수이면 중복을 허용하지 않고 음수이면 중복을 허용한다.


SREM key member [member …]

Set에서 필요 없는 요소들을 제거한다.


SUNION key [key …]

나열한 Set들로부터 합집합을 만들어 돌려준다. 집합이기 때문에 중복이 허용되지 않는다.


SUNIONSTORE destination key [key …]

SUNION과 같은 연산을 한다. 연산 후 dest에 연산 결과를 저장한다. 만약 해당 dest가 존재하면 덮어 쓴다.


Sorted Set 관련



ZADD key score member [score] [member]

정렬된 집합 멤버를 만들어 준다. 만약 해당 키가 정렬된 집합이 아니면 에러를 돌려준다. 만약 해당 키가 정렬된 집합이면 해당 멤버는 새로 생성되거나 갱신 된다.


ZCARD key

정렬된 집합에 포함된 원소 개 수를 돌려준다.


ZCOUNT key min max

정렬된 집합의 최대 값과 최소 값 사이의 원소 개수를 돌려준다. “(“문자와 같이 사용하면 해당 값을 포함하지 않는다는 의미다.


ZINCRBY key increment member

멤버의 값을 증가 시킨다. 역 증감도 될 수 있다.


ZINTERSTORE destination numkeys key [key …] [WEIGHTS weight [weight …]] [AGGREGATE SUM|MIN|MAX]

정렬된 집합들의 교집합을 구한다. 교집합은 가중치가 부여된 합, 최소 값, 최대 값이 될 수 있다. 결과는 정해진 키로 정렬된 교집합을 만들어 저장된다.


ZRANGE key start stop [WITHSCORES]

지정된 범위의 스코어에 해당하는 값을 보여 준다.


ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]

정렬된 집합의 최대 값과 최소 값 사이의 원소들을 돌려준다. “(“문자를 같이 사용하면 해당 값을 포함하지 않는다는 의미다. -inf, +inf은 차례로 최소 값과 최대 값을 나타낸다.


redis 127.0.0.1:6379> ZADD zset 1 "one"

(integer) 1

redis 127.0.0.1:6379> ZADD zset 2 "two"

(integer) 1

redis 127.0.0.1:6379> ZADD zset 3 "three"

(integer) 1

redis 127.0.0.1:6379> ZADD zset 4 "four"

(integer) 1

redis 127.0.0.1:6379> ZRANGEBYSCORE zset -inf +inf

1) "one"

2) "two"

3) "three"

4) "four"

redis 127.0.0.1:6379> ZRANGEBYSCORE zset -inf +inf LIMIT 2 4

1) "three"

2) "four"

redis 127.0.0.1:6379> ZRANGEBYSCORE zset (1 3

1) "two"

2) "three"

redis 127.0.0.1:6379> ZRANGEBYSCORE zset 1 3

1) "one"

2) "two"

3) "three"

redis 127.0.0.1:6379>


ZRANK key member

0을 기준으로 시작하는 해당 멤버의 스코어가 가장 낮은 순위를 돌려준다.


ZREM key member [member …]

멤버들을 지운다.


ZREMRANGEBYRANK key start stop

범위에 해당하는 순위의 멤버들을 삭제한다.


ZREMRANGEBYSCORE key min max

범위에 해당하는 스코어의 멤버들을 삭제한다.


ZREVRANGE key start stop [WITHSCORES]

지정된 스코어에 해당하는 멤버들을 역 정렬해서 보여준다.


ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]

지정한 스코어 범위의 멤버들을 역 정렬해서 보여준다.


ZREVRANK key member

0을 기준으로 시작하는 해당 멤버의 스코어가 가장 높은 순위를 돌려준다.


ZSCORE key member

지정한 멤버의 스코어를 돌려 준다.


ZUNIONSTORE destination numkeys key [key …] [WEIGHTS weight [weight …]] [AGGREGATE SUM|MIN|MAX]

정렬된 집합들의 합집합을 구한다.

교집합은 가중치가 부여된 합, 최소 값, 최대 값이 될 수 있다.

결과는 정해진 키로 정렬된 합집합을 만들어 저장된다.

728x90
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함