LINSERT

레디스 개발자 교육 신청 레디스 정기점검/기술지원
Redis Technical Support
레디스 엔터프라이즈 서버
Redis Enterprise Server

값으로 특정 위치에 데이터 넣기

사용법은 linsert key BEFORE|AFTER pivot value 이다.
pivot은 기준이 되는 데이터(값)이다. 이것을 기준으로 전.후에 value를 넣는다.

Example

명령>lpush mylist value1 value3
결과>1
명령>lrange mylist 0 -1
결과>0) value2
1) value1
명령>linsert mylist after value3 value2    value3 뒤에 value2을 넣는다
결과>3   입력 후 총 데이터 갯수를 리턴한다
명령>linsert mylist before value3 value4    value3 앞에 value4을 넣는다
결과>4
명령>lrange mylist 0 -1
결과> 1) value4
2) value3
3) value2
4) value1

애니메이션 보기


기준 데이터가 여러개 일 경우

첫번째 데이터를 기준으로 처리된다.

Example

명령>lpush mylist value3 value3
결과>2
명령>linsert mylist before value3 value4
결과>3
명령>linsert mylist after value3 value2
결과>4
명령>lrange mylist 0 -1
결과> 1) value4
2) value3
3) value2
4) value3

애니메이션 보기


기준 데이터가 존재하지 않는 경우

입력되지 않는다. 이 경우 -1을 리턴한다.

Example

명령>linsert mylist after value5 value6
결과>-1

인덱스로 특정 위치에 데이터 넣기

인덱스를 저정해서 값을 넣을 수 있습니다. 인덱스는 0부터 시작합니다. 마지막 인덱스는 -1 지정하거나 LLEN의 결과값을 지정할 수 있습니다. 리버스인덱스로 사용할 수 있습니다.
인덱스를 알 경우 값(value)를 사용하는 것보다 성능이 좋습니다. 또 값이 여러 개 인경우 인덱스를 사용하면 효과적으로 처리할 수 있습니다.

Example

명령>linsert mylist after 1 value7 by index
결과>5
명령>linsert mylist before -1 value8 by index
결과>6
이 기능은 Enterprise 서버에서 사용 가능합니다.

명령문

LINSERT key BEFORE|AFTER   [pivot value] | [index by index]

  • 이 명령은 version 2.2.0 부터 사용할 수 있다.
  • 논리적 처리 소요시간은 O(N)이다.
  • 명령 수행 후 리스트에 있는 총 데이터 갯수를 리턴한다.
관련 명령 LINDEX, LSET, LTRIM
Clients for Java Jedis, Lettuce, Redisson
Clients for C Hiredis

<< LSET LINSERT LREM >>

Email 답글이 올라오면 이메일로 알려드리겠습니다.