tencent cloud

Tencent Cloud Distributed Cache (Redis OSS-Compatible)

list 族

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-20 18:29:12
AI翻訳・品質チェック済み

コマンドの紹介

Listファミリーコマンドは、双方向リンクリスト(quicklist)データ構造の操作に使用され、メッセージキュー、タスクスケジューリング、タイムラインなど、先入れ先出しまたは後入れ先出しのシナリオに適しています。その主要コマンドは機能別に以下の4種類に分類できます:
要素の挿入と取り出し
LPUSH / RPUSH:左端または右端から1つまたは複数の要素を挿入します。
LPOP / RPOP:リスト端部の要素をポップします。
LINSERT:指定した要素の前後に新しい要素を挿入します。
RPOPLPUSH:あるリストの末尾から要素をポップし、別のリストの先頭にアトミックにプッシュします。
要素の検索と変更
LINDEX:インデックスに基づいて指定位置の要素を読み取ります。
LRANGE:範囲に基づいて要素のリストを返します。
LSET:インデックスに基づいて指定位置の要素値を変更します。
LLEN:リストの長さを返します。
LREM:指定した数に一致する要素を削除します。
LTRIM:指定範囲を保持し、残りの要素を切り詰めます。
ブロッキング操作(メッセージキューシナリオ)
BLPOP / BRPOP:ブロッキングポップを実行し、リストが空の場合は指定されたタイムアウト時間まで待機します。メッセージキューのコンシューマーに適しています。
BRPOPLPUSH:ブロッキング方式で要素をポップし、別のリストにプッシュします。
高バージョン拡張コマンド(Redis 6.2+ / Valkey 8.0+)
LMOVE / BLMOVE:より柔軟に要素をリスト間で移動します(ソース/ターゲット方向の指定に対応)。
LPOS:リスト内の要素の位置インデックスを検索します。
LMPOP / BLMPOP(Redis 7.0+):複数のキーから要素を一括でポップし、軽量タスクキューとしてのListの能力をさらに強化します。
詳細については、Valkey公式ドキュメントのListコマンドグループを参照してください。

コマンドサポートの概要

基本コマンド:lindex、linsert、llen、lpop、lpush、lpushx、lrange、lrem、lset、ltrim、rpop、rpoplpush、rpush、rpushx、blpop、brpop、brpoplpushは、Redis 2.8標準アーキテクチャおよび4.0、5.0、6.2、7.0バージョン、Valkey 8.0、9.0の標準アーキテクチャとクラスタアーキテクチャでサポートされています。
6.2+ 新增コマンド:blmove、lmove、lposは、Redis 6.2、7.0バージョンおよびValkey 8.0、9.0バージョンのみでサポートされています。
7.0+ 新增コマンド:lmpop、blmpopは、Redis 7.0バージョンおよびValkey 8.0、9.0バージョンのみでサポートされています。
クロスSlot制限:クラスタアーキテクチャでは、rpoplpush、blpop、brpop、brpoplpushはクロスSlot操作をサポートしていません。

コマンド互換性マトリクス

List系コマンドの各バージョンおよびアーキテクチャにおけるサポート状況は以下の表の通りです(✓はサポート、✗は非サポート、—は該当コマンドにクロスSlotアクセスシーンが存在しないことを示します)。
説明:
blpop、brpop、brpoplpush、blmove、blmpopは、bプレフィックス付きのコマンドです。bプレフィックスを除いた通常のコマンド(lpop、lmoveなど)との違いは、Listが空の場合、通常のコマンドはすぐにnilを返しますが、bプレフィックス付きコマンドは新しい要素が追加されるまで待機し、タイムアウトして初めて返ることです。multi execトランザクションでは、bプレフィックス付きコマンドは待機せず、動作はbプレフィックスを除いた通常のコマンドと同等です。詳細はBLPOP公式ドキュメントを参照してください。
コマンド
Valkey 9.0スタンダードアーキテクチャ
Valkey 9.0クラスタアーキテクチャ
Redis 7.0/Valkey 8.0スタンダードアーキテクチャ
Redis 7.0/Valkey 8.0クラスタアーキテクチャ
Redis 6.2スタンダードアーキテクチャ
Redis 6.2クラスタアーキテクチャ
Redis 5.0スタンダードアーキテクチャ
Redis 5.0クラスタアーキテクチャ
Redis 4.0スタンダードアーキテクチャ
Redis 4.0クラスタアーキテクチャ
Redis 2.8スタンダードアーキテクチャ
クラスタアーキテクチャのクロススロット対応
lindex
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
—
linsert
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
—
llen
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
—
lpop
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
—
lpush
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
—
lpushx
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
—
lrange
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
—
lrem
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
—
lset
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
—
ltrim
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
—
rpop
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
—
rpoplpush
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✗
rpush
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
—
rpushx
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
—
blpop
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✗
brpop
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✗
brpoplpush
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✗
blmove
✓
✓
✓
✓
✓
✓
✗
✗
✗
✗
✗
—
lpos
✓
✓
✓
✓
✓
✓
✗
✗
✗
✗
✗
—
lmove
✓
✓
✓
✓
✓
✓
✗
✗
✗
✗
✗
—
lmpop
✓
✓
✓
✓
✗
✗
✗
✗
✗
✗
✗
—
blmpop
✓
✓
✓
✓
✗
✗
✗
✗
✗
✗
✗
—

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック