Redis List

이정훈·2024년 6월 28일

Caching

목록 보기
9/10

List

Redis에서 List는 링크드 리스트입니다.
스택과 큐를 구현하기 위해 사용됩니다.
리스트를 통해 작업 대기열을 관리할 수 있습니다.

List에 값 넣고 빼기

List에서 값을 넣는 방법은 PUSH를 이용하면 됩니다.
왼쪽에 값을 넣고 싶다면 LPUSH를 오른쪽에 값을 넣고 싶다면 RPUSH를 사용하면 됩니다.
구체적으로는
[RPUSH|LPUSH][키 값] [필드 값]
형태입니다.

> LPUSH bikes:repairs bike:1
(integer) 1
> LPUSH bikes:repairs bike:2
(integer) 2

List에 넣은 값을 빼서 가져오고 싶다면 POP을 이용하면 됩니다.
PUSH와 마찬가지로 LPOP과 RPOP이 존재합니다.
구체적으로는
[RPUSH|LPUSH][키 값] [필드 값]
형태입니다.

> RPOP bikes:repairs
"bike:1"
> RPOP bikes:repairs
"bike:2"

List 길이 확인하기

List의 길이를 확인하기 위해서는 LLEN 명령어를 이용하면 됩니다.
구체적으로는
LLEN [키 값]
형태입니다.

> LLEN bikes:repairs
(integer) 0

List 안의 특정 범위 값 확인하기

List 안의 특정 범위 값을 확인하기 위해서 LRANGE 명령어를 사용할 수 있습니다
구체적으로는
LRANGE [키 값][시작 인덱스] [끝 인덱스]
형태입니다.

> LRANGE bikes:repairs 0 -1
1) "bike:1"
2) "bike:2"

List간 값 옮기기

List 간에 값을 빼고 옮기고 싶다면 LMOVE명령어를 사용할 수 있습니다.
구체적으로는
LMOVE [값을 빼내올 리스트][값을 넣을 리스트] [값을 빼는 위치][값을 넣는 위치]
형태입니다.
위치는 LEFT와 RIGHT가 가능합니다.

> LPUSH bikes:repairs bike:1
(integer) 1
> LPUSH bikes:repairs bike:2
(integer) 2
> LMOVE bikes:repairs bikes:finished LEFT LEFT
"bike:2"
> LRANGE bikes:repairs 0 -1
1) "bike:1"
> LRANGE bikes:finished 0 -1
1) "bike:2"

List에서 특정 범위를 제외한 값 버리기

기존에 있던 List에서 특정 범위의 값을 제외한 나머지 값들을 버리려면 LTRIM을 이용하면 됩니다.
구체적으로는
LTRIM [키 값][시작 인덱스] [끝 인덱스]
형태입니다.

> RPUSH bikes:repairs bike:1 bike:2 bike:3 bike:4 bike:5
(integer) 5
> LTRIM bikes:repairs 0 2
OK
> LRANGE bikes:repairs 0 -1
1) "bike:1"
2) "bike:2"
3) "bike:3"
profile
기록으로 흔적을 남깁니다.

0개의 댓글