lpos
LPOS
Redis 開発者教育の申込
|
Redis 定期点検/技術サポートRedis Technical Support |
Redis エンタープライズサーバーRedis Enterprise Server |
|---|
値でインデックスを取得
使い方は lpos key value です。
インデックスは頭(左)の 0 から始まります。
Example
| コマンド> | rpush mylist A B C 1 2 3 C C |
| 結果> | 8 |
| コマンド> | lpos mylist A |
| 結果> | (integer) 0 |
| コマンド> | lpos mylist C |
| 結果> | (integer) 2 最初の C の順番が取得されます。 |
RANK オプション: 探す順番を指定
2番目の C を探す場合は RANK 2 を使います。
負数を指定すると尾(右)から探します。
Example
| コマンド> | lpos mylist C RANK 2 |
| 結果> | (integer) 6 |
| コマンド> | lpos mylist C RANK -1 |
| 結果> | (integer) 7 |
COUNT オプション: 探す件数を指定
同じ値が複数ある場合、探す件数を指定します。 0 を指定するとすべて探します。
Example
| コマンド> | lpos mylist C COUNT 2 |
| 結果> | 1) (integer) 2 2) (integer) 6 |
| コマンド> | lpos mylist C COUNT 0 |
| 結果> | 1) (integer) 2 2) (integer) 6 3) (integer) 7 |
MAXLEN オプション: 検索する件数を指定
リストに値(要素)が非常に多い場合、
指定した値を探すのに時間がかかることがあります。
検索する件数を指定して、取得に多くの時間がかからないよう制限するために使います。
RANK, COUNT, MAXLEN オプションは一緒に使えます。
Example
| コマンド> | lpos mylist C COUNT 0 MAXLEN 3 |
| 結果> | 1) (integer) 2 |
| コマンド> | lpos mylist C COUNT 0 MAXLEN 7 |
| 結果> | 1) (integer) 2 2) (integer) 6 |
注意事項
探す値がなければ nil を返します。
COUNT オプションを使った場合は (empty array) を返します。
Example
| コマンド> | lpos mylist D |
| 結果> | (nil) |
| コマンド> | lpos mylist D COUNT 0 |
| 結果> | (empty array) |
構文
LPOS key element [RANK rank] [COUNT num-matches] [MAXLEN len]
- このコマンドは version 6.0.6 から使用できます。
- 時間計算量は O(N) です。N は値の件数、または MAXLEN で指定した件数です。
| << LINDEX | LPOS | LSET >> |
|---|
Email
返事がかかってなれば、メールでお知らせします。
