728x90
1. String
- 가장 기본적인 데이터 타입으로 제일 많이 사용됨
- 바이트 배열을 저장(binary-safe)
- 모든 문자를 저장 가능
- 바이너리로 변환할수 있는 모든 데이터를 저장 가능(JPG와 같은 파일 등)
- 최대 크기는 512MB (1개의 kEY)
- 주로 cache, html code등을 저장 하여 사용한다.
사용방법
> SET myname helllo
> OK
> GET myname
> "hello"
명령어 | 기능 | 예제 |
SET | 특정 키에 문자열 값을 저장 | SET say hello |
GET | 특정 키의 문자열 값을 반환 | GET say |
INCR | 특정 키의 값을 INTEGER로 취급하여 1증가 | INCR mycount |
DECR | 특정 키의 값을 INTEGER로 취급하여 1감소 | DECR mycount |
MSET | 여러 키에 대한 값을 한번에 저장 | MSET mine milk yours coffe |
MGET | 여러 키에 대한 값을 한번에 반환 | MGET mine yours |
2. List
- Linked-list 형태의 자료 구조
- 인덱스 접근은 느리지만 데이터 추가/삭제가 빠름
- Queue와 Stack으로 사용할 수 있음
> LPISH mylist value1
> 1
> LPUSH mylist value2
> 2
> LLEN mylist
> 2
> RPOP mylist
> "value1"
명령어 | 기능 | 예제 |
LPUSH | 리스트의 왼쪽(head)에 새로운 값을 추가 | LPUSH mylist apple |
RPUSH | 리스트의 오른쪽(tail)에 새로운 값을 추가 | RPUSH mylist banana |
LLEN | 리스트에 들어있는 아이템 개수를 반환 | LLEN mylist |
LRANGE | 리스트의 특정 범위를 반환 | LRANGE 0 -1 |
LPOP | 리스트의 왼쪽(head)에서 값을 삭제 하고 반환 | LPOP mylist |
RPOP | 리스트의 오른쪽(tail)에서 값을 삭제하고 반환 | RPOP mylist |
3. Sets
- 순서가 없는 유니크한 값의 집합
- 검색이 빠름
- 개별 접근을 위한 인덱스가 존재하지 않고, 집합 연산이 가능(교집합, 합집합 등)
- 활용 예제 ) 이벤트성 쿠폰 발급(1인당 1개 쿠폰 발)
> SADD myset apple
> 1
> SADD myset banana
> 1
> SISMEMBER myset banana
> 1
> SISMEMBER myset grape
> 0
명령어 | 기능 | 예제 |
SADD | Set에 데이터를 추가 | SADD myset apple |
SREM | Set에서 데이터를 삭제 | SREM myset apple |
SCARD | Set에 저장된 아이템 개수를 반환 | SCARD myset |
SMEMBERS | Set에 저장된 아이템들을 반환 | SMEMBERS myset |
SISMEMBER | 특정 값이 Set에 포함되어 있는지를 반환 | SISMEMBER myset apple |
4. Hashes
- 하나의 Key하위에 여러개의 field-value 쌍을 저장
- 여러 필드를 가진 객체를 저장하는 것으로 생각 할 수 있음
- HINCRBY명령어를 사용해 카운터로 활용가능
> HSET user1 name bear age 10
> 2
> HGET user1 name
> "bear"
> HGET user1 name age
> "bear"
> "10"
명령어 | 기능 | 예제 |
HSET | 한개 또는 다수의 필드에 값을 저장 | HSET user1 name bear age 10 |
HGET | 특정 필드의 값을 반환 | HGET user1 name |
HMGET | 한개 이상의 필드 값을 반환 | HMGET user1 name age |
HINCRBY | 특정 필드의 값을 INTEGER로 취급하여 지정한 숫자 증가 | HINCRBY user1 viewcount 1 |
HDEL | 한개 이상의 필드를 삭제 | HDEL user1 name age |
728x90
'DB' 카테고리의 다른 글
[Redis] Spring Boot Redis 기본 설정 (0) | 2024.02.24 |
---|---|
[Redis] Data Type (Sorted Sets, Bitmaps, HyperLogLog) (0) | 2024.02.23 |
[Redis] Redis란? (0) | 2024.02.20 |
MongoDB 구성 (0) | 2024.02.18 |
SQL VS NoSQL (MongoDB 공부 전 ) (0) | 2024.02.18 |