lists_intro
LISTS Introduction
Redis 開発者教育の申込
|
Redis 定期点検/技術サポートRedis Technical Support |
Redis エンタープライズサーバーRedis Enterprise Server |
|---|
紹介
Lists は key と value が 一対多 の関係です。
value は入力された順に保存されます。
Lists は主にキュー(Queue)とスタック(Stack)として使われます。
キュー(Queue)は入ってくるデータを順に処理するときに使います。
スタック(Stack)はウェブブラウザの戻るボタンのように、主に戻るときに使います。
value は入力された順に保存されます。
Lists は主にキュー(Queue)とスタック(Stack)として使われます。
キュー(Queue)は入ってくるデータを順に処理するときに使います。
スタック(Stack)はウェブブラウザの戻るボタンのように、主に戻るときに使います。
キー(リスト)の生成と削除
value が保存されるとキー(リスト)は生成されます。キーに value が一つもなければキーは削除されます。
つまり、キー(リスト)の生成と削除のための別作業は不要です。
つまり、キー(リスト)の生成と削除のための別作業は不要です。
コマンド要約
- SET (PUSH): LPUSH, RPUSH, LPUSHX, RPUSHX, LSET, LINSERT, RPOPLPUSH
- GET: LRANGE, LINDEX, LLEN
- POP: LPOP, RPOP, BLPOP, BRPOP
- REM: LREM, LTRIM
- BLOCK: BLPOP, BRPOP, BRPOPLPUSH
| Commands | Version | Syntax | Description |
|---|---|---|---|
| LPUSH | 1.0.0 | key value [value ...] | 左からリストの右にデータを保存 |
| RPOP | 1.0.0 | key | リストの右からデータを取り出し、リストからは削除 |
| LPOP | 1.0.0 | key | リストの左からデータを取り出し、リストからは削除 |
| RPUSH | 1.0.0 | key value [value ...] | 右からリストの左にデータを保存 |
| LRANGE | 1.0.0 | key start stop | インデックスで範囲を指定してリスト取得 |
| LLEN | 1.0.0 | key | リストのデータ総件数を取得 |
| LINDEX | 1.0.0 | key index | インデックスで特定位置のデータを取得 |
| LSET | 1.0.0 | key index value | インデックスで特定位置の値を変更 |
| LREM | 1.0.0 | key count value | 値を指定して削除 |
| LTRIM | 1.0.0 | key start stop | インデックスで指定した範囲外の値を削除 |
| RPOPLPUSH | 1.2.0 | key src_key dest_key | RPOP + LPUSH |
| BLPOP | 2.0.0 | key [key ...] timeout | リストに値がない場合、指定時間待って値が入れば LPOP 実行 |
| BRPOP | 2.0.0 | key [key ...] timeout | リストに値がない場合、指定時間待って値が入れば RPOP 実行 |
| BRPOPLPUSH | 2.2.0 | src_key dest_key timeout | リストに値がない場合、指定時間待って値が入れば RPOPLPUSH 実行 |
| LINSERT | 2.2.0 | key BEFORE|AFTER pivot value | 指定した値の前/後に新しい値を保存 |
| LPUSHX | 2.2.0 | key value | 既存にリストがある場合のみ LPUSH 実行 |
| RPUSHX | 2.2.0 | key value | 既存にリストがある場合のみ RPUSH 実行 |
| LPOS | 6.0.6 | key element | 値でインデックスを取得 |
| LMOVE | 6.2.0 | source destination | リスト間のデータ移動 |
| BLMOVE | 6.2.0 | source destination | リスト間のデータ移動 - 待機 |
| LLS | Ent 6.0.0 | key pattern | パターン(pattern)で値(value)を取得 |
| LRM | Ent 6.0.0 | key pattern | パターン(pattern)で値(value)を削除 |
Total : 22
Lists コマンド説明
Redis Internal : LIST 内部データ構造
-
ジップリスト(ZIP LIST): メモリ節約型データ構造
- ジップリストは LIST, SORTED SET, HASH で共通に使われるデータ構造で、
- データ構造と主要なオペレーションについて説明します。
- そして LIST でどのように使われるかを見ます。
-
リストのメインデータ構造 : リンクリスト(Linked List)
リンクリストのデータ構造と主要なオペレーションについて説明します。 -
クイックリスト(Quick List)
version 3.2 以前はエントリ数が 512 個以下ならジップリストに保存され、 513 個からはリンクリストに保存されていました。
Redis version 3.2 からリスト(LIST)の内部データタイプはクイックリスト一つに確定されました。
何が変わったか見てみましょう。
PDF manual
| << GETSET | LISTS Introduction | LPUSH >> |
|---|
Email
返事がかかってなれば、メールでお知らせします。
