linsert
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
답글이 올라오면 이메일로 알려드리겠습니다.