Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

Contents

LTRIM

  • 1.0.0 부터 지원
  • 시간 복잡도 : O(N). N은 지우려는 원소의 갯수.
Trim은 start에서 stop범위의 원소를 제외한 모든 원소를 list에서 삭제한다. start와 stop은 0부터 시작한다. 즉 0은 리스트의 첫번째 원소, 1은 두번째 원소다. 예를 들어 LTRIM foobar 0 2를 실행하면, foobar의 0, 1, 2 세개의 원소를 제거한다.

start와 stop는 음의 수를 가질 수 있다. 음의 수는 리스트의 끝을 기준으로 한다. 리스트의 끝은 -1이고, 끝에서 두번째는 -2다.

리스트의 크기를 벗어난 start, end 값을 입력할 경우 에러를 반환하지 않는다. 만약 start가 리스트의 끝보다 더 크거나, start가 end 보다 더 크다면 리스트를 삭제해 버린다. Stop가 리스트의 끝보다 더 크다면, 리스트의 끝으로 범위가 설정된다.

보통 LTRIM은 LPUSH/RPUSH와 함께 사용한다.
LPUSh mylist someelement
LTRIM mylist 0 99
리스트 입력 명령과 함께 사용하면, 리스트가 일정 크기를 넘지 않도록 관리할 수 있다. 이러한 기능은 메시지 함 이나, 최근 로그 보기등의 구현에 사용할 수 있다.

예제

>  RPUSH mylist "one"
(integer) 1
>  RPUSH mylist "two"
(integer) 2
>  RPUSH mylist "three"
(integer) 3
>  LTRIM mylist 1 -1
OK
>  LRANGE mylist 0 -1
1) "two"
2) "three"
redis>