[Redis] List
- Redis
- 2020. 8. 20.
이번 글에서는 redis의 data type 중 List에 대해 알아보겠습니다.
1. List
Redis의 List는 Linked List로 구현되어 있습니다.
List Type은 구현하는 구현체가 Array일 경우와 Linked List일 경우에 따라 많은 차이가 있습니다. Linked List로 구현한 List는 Data의 insert가 굉장히 빠른 반면에, indexing을 활용한 data access 속도가 Array로 구현한 List에 비해 느립니다.
2. Command Line
LIST TYPE에 사용할 수 있는 redis-cli 명령어 목록은 다음과 같습니다.
@ KEY의 HEAD에 VALUE를 삽입합니다.
LPUSH [KEY] [VALUE]
@ KEY의 HEAD에 VALUE를 삽입합니다. KEY가 이미 존재할 경우에만 삽입합니다.
LPUSHX [KEY] [VALUE]
@ KEY의 TAIL에 VALUE를 삽입합니다.
RPUSH [KEY] [VALUE]
@ KEY의 TAIL에 VALUE를 삽입합니다. KEY가 이미 존재할 경우에만 삽입합니다.
RPUSHX [KEY]
@ KEY의 START_INDEX와 END_INDEX 사이의 ELEMENT를 반환합니다.
LRANGE [KEY] [SRTART_INDEX] [END_INDEX]
@ KEY의 TAIL ELEMENT를 제거하고 이를 반환합니다.
RPOP [KEY]
@ KEY의 HEAD ELEMENT를 제거하고 이를 반환합니다.
LPOP [KEY]
@ KEY의 START_INDEX와 END_INDEX사이의 ELEMENT를 제외한 나머지를 제거합니다.
LTRIM [KEY] [START_INDEX] [END_INDEX]
@ KEY의 특정 INDEX의 OLD_VALUE를 NEW_VALUE로 업데이트합니다.
LSET [KEY] [INDEX] [NEW_VALUE]
@ KEY의 특정 INDEX의 ELEMENT를 반환합니다.
LINDEX [KEY] [INDEX]
@ KEY의 PIVOT_VALUE가 위치한곳 BEFORE 혹은 AFTER에 INSERT_VALUE를 삽입합니다.
LINSERT [KEY] [BEFORE|AFTER] [PIVOT_VALUE] [INSERT_VALUE]
@ KEY의 길이를 반환합니다.
LLEN [KEY]
@ KEY에서 VALUE와 일치하는 ELEMENT를 제거합니다.
LREM [KEY] [NUMBER] [VALUE]
- NUMVER가 0보다 클 경우 HEAD에서부터 NUMBER 갯수 만큼 ELEMENT를 제거합니다.
- NUMBER가 0보다 작을 경우 TAIL에서부터 NUMBER 갯수 만큼 ELEMENT를 제거합니다.
- NUMVER가 0일 경우 KEY에서 VALUE와 일치하는 모든 ELEMENT를 제거합니다.
참고 자료 : https://www.udemy.com/course/redis-bootcamp-for-beginners/
추천서적
파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
'Redis' 카테고리의 다른 글
[Redis] Set (0) | 2020.08.20 |
---|---|
[Redis] Hash (0) | 2020.08.20 |
[Redis] String (0) | 2020.08.20 |
[Redis] Redis Download (0) | 2020.08.20 |
[Redis] Redis란? (0) | 2020.08.20 |