linsert
LINSERT
값으로 특정 위치에 데이터 넣기
사용법은 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
명령문
LINSERT key BEFORE|AFTER [pivot value] | [index by index]
- 이 명령은 version 2.2.0 부터 사용할 수 있다.
- 논리적 처리 소요시간은 O(N)이다.
- 명령 수행 후 리스트에 있는 총 데이터 갯수를 리턴한다.
Clients for C
Hiredis