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 返事がかかってなれば、メールでお知らせします。