- ほとんどの(すべてではない)オブジェクトはキーを使用します
- 名前空間の使用
- 既存のすべてのキーを取得する
他の非リレーショナルデータベースエンジンと同様に、Redisがデータ構造と関連付けを処理する方法に頭を悩ませることは難しい場合があります。これは、Redisを、データを格納するための複数の行と列をそれぞれが含む、隔離されたテーブルを備えた従来のリレーショナルデータベースと比較した場合に特に当てはまります。
Redisは非リレーショナルであるため、システム内のすべてが基本的な key / value
で構成されます。 最も単純なレベルのペア。特に開発中は、データベースにすでに存在するすべてのものを追跡するのが難しい場合があるため、この簡単なチュートリアルでは、すべてのキー
を取得する方法について説明します。 いくつかの簡単なコマンドを使用してRedisデータベースから。
ほとんどの(すべてではない)オブジェクトはキーを使用します
Redisを使用したデータストレージの大部分では、データは単純な<code> key / valueに保存されます ペア。これは、 redis-cli
で最もよく示されます。 (コマンドラインインターフェイス) GET
を使用 およびSET
コマンド。
たとえば、本
に関する情報を保存したい場合があります。 、 title
など およびauthor
私たちのお気に入りのいくつかの。
> SET title "The Hobbit"
OK
> SET author "J.R.R. Tolkien"
OK
title
およびauthor
キー
です 設定し、実際の文字列値は後で指定しました。したがって、 GET
でそれらを表示できます 、そのように:
> GET title
"The Hobbit"
> GET author
"J.R.R. Tolkien"
それはすべてうまくいっていますが、どうすれば別の本を追加できますか?同じtitle
を再利用することはできません およびauthor
キーを押すか、既存のデータを上書きします。代わりに、:
を使用して名前空間構文を使用できます。 区切り文字と各title
の付与 またはauthor
一意の数値のkey
を入力します :
> SET title:1 "The Hobbit"
OK
> SET author:1 "J.R.R. Tolkien"
OK
> SET title:2 "The Silmarillion"
OK
> SET author:2 "The Silmarillion"
OK
現在、 GET
を使用しています 一意の数値のkey
を追加する必要があります 同様に:
> GET title:1
"The Hobbit"
> GET title:2
"The Silmarillion"
結局のところ、すべての SET
上記で発行したコマンドは、新しい一意の key
を作成しました Redisデータベース内。現在のすべてのキー
のリストを取得するには 存在する場合は、 KEYS
を使用するだけです。 コマンド:
> KEYS *
1) "title:1"
2) "title:2"
3) "title"
4) "author:2"
5) "author"
6) "author:1"
KEYS
をフォローする アスタリスク付き( *
)–ワイルドカード検索として機能します–Redisにシステム内のすべてのキーを取得するように依頼しています。したがって、2つの元の title
だけが表示されるわけではありません。 およびauthor
キーだけでなく、それに続く4つの列挙バージョンも同様です。
KEYS
に続く構文 キー内の特定の単語やフレーズ、または完全一致を検索するために使用できます。ここでは、テキスト'title'
を含むすべてのキーが必要です。 :
> KEYS *title*
1) "title:1"
2) "title:2"
3) "title"
注意:公式ドキュメントに記載されているように、 KEYS
の使用は避けることをお勧めします 非常に大規模なデータベースでコマンドを実行しますが、特に実稼働環境での使用は避けてください。 KEYS
以降 システム内のすべてのキーを返す可能性があります。これは、パフォーマンスに劇的な悪影響を与える可能性があります。