2016-12-14 10 views

答えて

1

redis(および他のK/vストア)のアイデアは、インデックスを作成するためのものです。データベースはあなたのためにそれをしません。リレーショナルデータベースとの大きな違いは、パフォーマンスの向上につながります。

あなたのアプリがハッシュを作成したら、そのキーをSETに入れます。アプリがハッシュを削除すると、そのキーをSETから削除します。そして、ハッシュIDのリストを取得するには、SMEMBERSを使用してSETの内容を取得してください。

+0

これはすばらしい回避策ですが、私はこのシナリオのためだけに私のアプリケーションにコードを書いたくありません。 – ohadinho

+0

その回避策ではありません。あなたは通常、SETを使って独自のインデックスを構築し、管理する責任があります。あなたのアプリケーションに関連するいくつかのタイプのHASHをすべて取得できるようにする必要がある場合、ユーザを追加/必要に応じてHASHキーを削除してください –

+0

両方の回答は、状況に応じて有効です。私たちは、どれが良いかを知るための十分なコンテキスト情報を持っていません(例:どのようなキーがDB内にあるのですか?それは本番ですか?) –

1

Redisからすべてのキーを取得するには、SCANコマンドを使用できます。次に各キーについて、TYPEコマンドを使用してハッシュかどうかを確認します。

+1

私は必要なコマンドのセットをさらに説明できますか実行するには? – ohadinho

+0

[SCAN](https://redis.io/commands/scan)コマンドは、Redisのキーを段階的に反復するために使用されます。このコマンドを使用すると、すべてのキーをRedisで取得できます。 [TYPE](https://redis.io/commands/type)コマンドは、キーのタイプを取得するために使用されます。詳細については、文書をご覧ください。 –

関連する問題