본문 바로가기
Tech Stack/Database ( TSDB, NOSQL, SQL )

Redis Command

by jaeaemin 2022. 4. 4.

 

[1] Redis Command 

Redis 명령어 : Redis 서버에서 일부 작업을 수행하는 데 사용된다.

Redis 서버에서 명령을 실행하기 위해서 Redis Client가 필요하다. 

 - Redis Client는 이전에 설치한 Redis 패키지에서 사용할 수 있다.

 

 

redis 패키지의 기본 구분 

&redis-cli

 

redis client를 시작하는 방법 ( 로컬 서버 연결 ) 

 - redis client를 실행 후, 로컬 서버에서 Ping 명령어를 통해 서버가 실행중인지 확인한다.

$redis-cli 
redis 127.0.0.1:6379> PING
PONG

 

 

redis 원격 서버에서 명령 실행 구문 

 - Redis 원격 서버의 명령어를 실행하기 위해서는 동일한 클라이언트 redis-cli로 서버에 연결해야 한다.

 - 아래 에제는 호스트 127.0.0.1 : 6379에서 실행되고 비밀번호가 mypassword인 원격 서버에 연결하는 방법이다.

///// $redis-cli -h host -p porrt -a password /////

$redis-cli -h 127.0.-0.1 -p 6379 -a "mypassword"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> PING
PONG

 

 

 

[2] Redis Command of DataType 

 

 

[1] Redis Key 

Redis Key 명령들은 Redis에서 키를 관리하는 데 사용된다. ( 단일 key-value )

 

기본 구문

redis 127.0.0.1:6379> COMMAND KEY_NAME

redis 127.0.0.1:6379> SET tutorialspoint redis 
OK
redis 127.0.0.1:6379> DEL tutorialspoint
(integer) 1

 

 

Key 명령어

sr.no Command & Description
1 DEL key
This command deletes the key, if it exists
2 DUMP key
This command returns a serialized version of the value stored at the specified key.
3 EXISTS key
This command checks whether the key exists or not.
4 EXPIRE key 
secondsSets the expiry of the key after the specified time. ( 키 만료 설정 )
5 EXPIREAT key timestamp
Sets the expiry of the key after the specified time. Here time is in Unix timestamp format.
6 PEXPIRE key milliseconds
Set the expiry of key in milliseconds. ( 키 만료 설정 : 밀리초 )
7 PEXPIREAT key milliseconds-timestamp
Sets the expiry of the key in Unix timestamp specified as milliseconds.
8 KEYS pattern
Finds all keys matching the specified pattern. ( 패턴과 일치하는 모든 키 탐색 )
9 MOVE key db
Moves a key to another database. ( 키를 다른 DB로 이동 )
10 PERSIST key
Removes the expiration from the key. 
11 PTTL key
Gets the remaining time in keys expiry in milliseconds.
12 TTL key
Gets the remaining time in keys expiry.
13 RANDOMKEY
Returns a random key from Redis. ( 랜덤 키 반환 ) 
14 RENAME key newkey
Changes the key name. ( 키 이름 교체 )
15 RENAMENX key newkey
Renames the key, if a new key doesn't exist. ( 키 이름 교체, 중복 확인 )
16 TYPE key
Returns the data type of the value stored in the key. ( 키의 값의 데이터 유형 ) 

 

 

 

 

 

[2] Redis String 

Redis String은 Redis에서 문자열 값을 관리하는 데 사용된다. 

 

기본 구문 

redis 127.0.0.1:6379> COMMAND KEY_VALUE

redis 127.0.0.1:6379> SET tutorialpoint redis 
OK
redis 127.0.0.1:6379> GET tutorialpoint 
"redis"

 

 

String 명령어 

 

 
1 (*) SET key value
This command sets the value at the specified key.
2 (*) GET key
Gets the value of a key.
3 GETRANGE key start end
Gets a substring of the string stored at a key.
4 GETSET key value
Sets the string value of a key and return its old value. ( 값 설정, 이전 값 반환 )
5 GETBIT key offset
Returns the bit value at the offset in the string value stored at the key.
6 MGET key1 [key2..]
Gets the values of all the given keys ( 주어진 모든 키의 값을 가져옴 )
7 SETBIT key offset value
Sets or clears the bit at the offset in the string value stored at the key 
8 SETEX key seconds value
Sets the value with the expiry of a key ( 키 만료값 설정 )
9 SETNX key value
Sets the value of a key, only if the key does not exist ( 키 존재하지 않을 때만 값 설정 ) 
10 SETRANGE key offset value
Overwrites the part of a string at the key starting at the specified offset ( 오프셋 부터 일부 덮어씀 )
11 STRLEN key
Gets the length of the value stored in a key ( 값의 길이를 리턴 )
12 MSET key value [key value ...]
Sets multiple keys to multiple values ( 여러 키-값 선언 )
13 MSETNX key value [key value ...]
Sets multiple keys to multiple values, only if none of the keys exist 
14 PSETEX key milliseconds value
Sets the value and expiration in milliseconds of a key ( 키 만료를 밀리초 단위로 )
15 INCR key
Increments the integer value of a key by one ( 키의 정수값을 1씩 증가 )
16 INCRBY key increment
Increments the integer value of a key by the given amount ( increment만큼 키 정수값 증가 )
17 INCRBYFLOAT key increment
Increments the float value of a key by the given amount ( increment만큼 키의 부동 소수점 값 증가 )
18 DECR key
Decrements the integer value of a key by one ( 키의 정수값을 1씩 감소 )
19 DECRBY key decrement
Decrements the integer value of a key by the given number
20 APPEND key value
Appends a value to a key ( 키에 값 추가 "기존값" + "value" )

 

 

 

 

[3] Redis Hash

Redis Hash는 문자열 필드와 문자열 값 간의 MAP으로 객체를 나타낼 수 있는 데이터 타입이다.

Redis에서 모든 해시는 최대 40억 개 이상의 필드-값 쌍을 저장할 수 있다.

 

기본 구문 : 이름 설명 좋아요 방문자를 설정함

redis 127.0.0.1:6379> HMSET tutorialspoint name "redis tutorial" 
description "redis basic commands for caching" likes 20 visitors 23000 
OK 
redis 127.0.0.1:6379> HGETALL tutorialspoint  
1) "name" 
2) "redis tutorial" 
3) "description" 
4) "redis basic commands for caching" 
5) "likes" 
6) "20" 
7) "visitors" 
8) "23000"

 

 

Hash 명령어 

 

Sr.No Command & Description
1 HDEL key field2 [field2]
Deletes one or more hash fields. ( 해시 필드 삭제 )
2 HEXISTS key field
Determines whether a hash field exists or not. ( 필드 존재 여부 )
3 HGET key field
Gets the value of a hash field stored at the specified key. ( 키에 저장된 해시 필드 값 가져옴)
4 HGETALL key
Gets all the fields and values stored in a hash at the specified key ( 모든 필드 값 가져옴 )
5 HINCRBY key field increment
Increments the integer value of a hash field by the given number ( incre만큼 정수 값 증가 )
6 HINCRBYFLOAT key field increment
Increments the float value of a hash field by the given amount ( incre만큼 부동 소수점 값 증가 )
7 HKEYS key
Gets all the fields in a hash ( 해시의 모든 필드를 가져옴 )
8 HLEN key
Gets the number of fields in a hash ( 해시의 필드 수를 가져옴 )
9 HMGET key field1 [field2]
Gets the values of all the given hash fields ( 주어진 모든 해시 필드 값을 가져옴 )
10 HMSET key field1 value1 [field2 value2 ]
Sets multiple hash fields to multiple values ( 주어진 모든 해시 필드 값 설정 )
11 HSET key field value
Sets the string value of a hash field ( 필드의 값 설정 )
12 HSETNX key field value
Sets the value of a hash field, only if the field does not exist ( 필드 존재하지 않는 경우만 값 설정 )
13 HVALS key
Gets all the values in a hash ( 해시의 모든 값을 가져옴 )
14 HSCAN key cursor [MATCH pattern] [COUNT count]
Incrementally iterates hash fields and associated values ( 해시 필드 및 관련 값을 점진적으로 반복 )

 

 

 

 

[4] Redis List

Redis List는 단순히 삽입 순서로 정렬된 문자열 목록이다.

요소의 추가는 List의 Head부분 or Tail 부분에서 추가할 수 있다.

목록의 최대 길이는 2 32 - 1개 요소(4294967295, 목록당 40억 개 이상의 요소)

 

기본 구문

redis 127.0.0.1:6379> LPUSH tutorials redis 
(integer) 1 
redis 127.0.0.1:6379> LPUSH tutorials mongodb 
(integer) 2 
redis 127.0.0.1:6379> LPUSH tutorials mysql 
(integer) 3 
redis 127.0.0.1:6379> LRANGE tutorials 0 10  
1) "mysql" 
2) "mongodb" 
3) "redis"

 

 

List 명령어

L : Head 부분 ,  R : Tail 부분 

Sr.No Command & Description
1 BLPOP key1 [key2 ] timeout
Removes and gets the first element in a list, or blocks until one is available
[ list의 첫번째 요소 제거 ]
2 BRPOP key1 [key2 ] timeout
Removes and gets the last element in a list, or blocks until one is available
[ list의 마지막 요소 제거 ]
3 BRPOPLPUSH source destination timeout
Pops a value from a list, pushes it to another list and returns it; or blocks until one is available
[ list에서 값을 꺼내 다른 목록으로 push하고 반환 ]
4 LINDEX key index
Gets an element from a list by its index
[ index로 list의 요소에 접근함 ]
5 LINSERT key BEFORE|AFTER pivot value
Inserts an element before or after another element in a list
[ list의 pivot 앞/뒤로 값을 추가함 ]
6 LLEN key
Gets the length of a list
[ 리스트의 길이 반환 ]
7 LPOP key
Removes and gets the first element in a list
[ 리스트의 첫번째 요소 제거 ]
8 LPUSH key value1 [value2]
Prepends one or multiple values to a list
[  list 에 하나 이상의 값을 추가함 ]
9 LPUSHX key value
Prepends a value to a list, only if the list exists
[ list가 존재하는 경우, list head에 값을 추가 ]
10 LRANGE key start stop
Gets a range of elements from a list
[ list의 요소 범위를 가져옴 ]
11 LREM key count value
Removes elements from a list
[ list에서 요소를 제거함 ]
12 LSET key index value
Sets the value of an element in a list by its index
[ index를 통해 요소 값 설정 ]
13 LTRIM key start stop
Trims a list to the specified range
[ list를 지정된 범위로 자름 ]
14 RPOP key
Removes and gets the last element in a list
[ list의 마지막 요소를 제거하고 반환받음 ]
15 RPOPLPUSH source destination
Removes the last element in a list, appends it to another list and returns it
[ list의 마지막 요소를 제거하고 다른 목록에 추가하고 반환받음 ]
16 RPUSH key value1 [value2
Appends one or multiple values to a list
[ list에 하나 이상의 값을 추가함 ]
17 RPUSHX key value
Appends a value to a list, only if the list exists
[ list가 있는 경우에만 값을 추가함 ]

 

 

 

[5] Redis Set

 

[6] Redis SortedSet

반응형

'Tech Stack > Database ( TSDB, NOSQL, SQL )' 카테고리의 다른 글

InfluxDB CQ ( continuous query )  (0) 2022.08.12
Telegraf  (0) 2022.07.15
InfluxDB  (1) 2022.06.27
Redis 기초  (0) 2022.04.04
정규화  (0) 2022.03.10