• yundream
  • 2022-08-07 13:28:34
  • 2018-09-04 16:22:04
  • 100574

LINDEX key index

  • 1.0.0 버전 부터 사용
  • 시간 복잡도 : O(N), N은 원하는 위치에 도달하기 위해서 통과해야 하는 아이템의 갯수다. Redis의 리스트는 배열이 아닌 링크드리스트의 구현이기 때문에, 처음부터 하나씩 이동해야 한다. 따라서 리스트의 첫번째나 마지막인경우 O(1)복잡도를 가진다.
LINDEX는 key의 index 위치에 있는 아이템을 반환한다.index는 0부터 시작하므로 0은 첫번째 아이템을, 1은 두번째 아이템을 의미한다. 음수의 경우 리스트의 끝에서 부터 index를 찾는다. -1은 마지막 아이템을 의미하고 -2는 마지막에서 두번째 아이템을 의미한다.

key가 리스트(List)가 아닌 경우 에러를 반환한다.

반환 값

Index 위치에 있는 아이템을 반환한다. Index가 리스트의 범위 밖이라면 nil을 반환한다.

redis> LPUSH mylist "World"
(integer) 1
redis> LPUSH mylist "Hello"
(integer) 2
redis> LINDEX mylist 0
"Hello"
redis> LINDEX mylist -1
"World"
redis> LINDEX mylist 3
(nil)