linsert
LINSERT
Redis 開発者教育の申込
|
Redis 定期点検/技術サポートRedis Technical Support |
Redis エンタープライズサーバー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
返事がかかってなれば、メールでお知らせします。
