List

  • 이중 연결 형태이다. 
  • 저장할 요소가 많다면 리스트 사용을 자제하는 것이 좋다.
  • set과 마찬가지로 SORT 명령어를 적용할 수 있다.

 

[LPUSH, RPUSH] <key> <value>

  • L은 왼쪽, R은 오른쪽을 뜻하며 왼쪽 또는 오른쪽에서 <key>에 <value>를 넣는다는 의미이다.
  • 출력 값으로는 <key>에 저장된 현재 요소의 개수이다.

LLEN <key> : <key>안에 들어있는 요소의 개수를 출력해준다.

 

LINDEX <key> <num>

  •  zero-based index로 <key>의 <num>인덱스에 있는 요소의 값을 출력해준다.
  • <num>에 음수값을 주면 역방향으로 출력된다. -1이 가장 끝에 있는 요소를 가리킨다.

LRANGE <key> <num1> <num2> : <num1>과 <num2>를 포함한 인덱스에 있는 요소를 출력해준다. 이 때도 음수의 값을 사용할 수 있다.

 

LPOS <key> <num>

  • <key>에서 <num>에 해당하는 값을 가진 요소의 index를 출력해준다.
  • 옵션으로 RANK <num>을 줄 수 있는데, 이는 <num>번 째 값의 위치를 출력해달라는 의미이다.
  • 옵션으로 COUNT <num>을 줄 수 있는데, 이는 발견된 순서대로 <num>개의 요소의 위치를 출력해달라는 의미이다. 즉, 배열을 반환한다.
  • 옵션으로 MAXLEN <num>을 줄 수 있는데, 이는 첫 요소를 포함한 <num>개에서의 요소를 찾아달라는 의미이다. 예를 들어 <num>이 5개면 처음을 포함한 5개의 요소 중에서 인덱스 위치를 찾아달라는 의미이다.

[LPOP, RPOP] <key> {<num>} : <num>을 생략하면 각각 방향에서 한 요소를 제거하고, <num>을 명시하면 <num> 개수만큼 요소를 제거한다.

 

LSET <key> <num1> <num2> : <num1> 인덱스에 위치한 요소의 값을 <num2>로 변경해준다.

 

LTRIM <key> <num1> <num2> : <num1>과 <num2>를 포함한 인덱스 사이에 있는 값을 제거하고 모든 요소를 제거한다.

 

LINSERT <key> <direction> <num1> <num2>

  • direction으로는 BEFORE, AFTER 값이 있다. BEFORE면 그 전, AFTER면 그 이후를 말한다. 예를 들어 3 위치에서 BEFORE일 때 2인 위치에 값을 삽입한다.
  • <num1>값(index아님)이 있는 위치를 찾고 <direction>에 따른 위치에 <num2>를 넣는다.

LREM <num1> <num2>

  • <num1>의 경우 양수, 음수, 0의 값이 나올 수 있는데, 이 때 0은 방향없이 모든 <num2>를 제거하라는 의미이다.
  • <num1>이 양수일 때는 왼쪽에서 부터 오른쪽으로 <num1>값 만큼 <num2>를 제거하라는 의미이다.
  • <num1>이 음수일 때는 반대 방향으로 같은 일을 한다.

'Database > Redis' 카테고리의 다른 글

Lua Script in redis  (0) 2024.11.05
Lock으로 동시성 관리하기 (with. redis)  (0) 2024.10.17
HyperLogsLogs 타입 명령어  (0) 2024.10.09
관계형 데이터 사용 in redis(feat. SORT)  (0) 2024.10.07
Sorted Set 타입 명령어  (0) 2024.10.07

+ Recent posts