5

キーが特定のパターンに一致するハッシュから、すべてのキーとその値を取得したいと考えています。私は、C# ライブラリ ServiceStack.Redis で redis を使用しています。

コマンドを見つけましたKeys with a pattern: http://redis.io/commands/keys単純な string_key -- string_val の場合、ハッシュ内の場合は何もありません。

ありますがList<string> GetValuesFromHash(string hashId, params string[] keys);、キーがredisのキーと完全に一致する場合にのみ機能します。Akey:*は戻ってきます null

例えば

myHash = 
key:1 -- val1, 
asdf -- asdfe,
key:2 -- val2

myHashここで、ハッシュ内のキーが次のパターンに一致する場合、すべてのキーとその値を取得したいと思います。key:*

その結果、

key:1 -- val1, 
key:2 -- val2
4

1 に答える 1

5

Redis はこれを直接サポートしていません: http://redis.io/commands#hash

一度にすべてのキーをクエリするか、正確な名前で指定された 1 つ以上のキーにクエリを実行することに制限されています。この使用パターンはおそらく、関心のあるキーの記録を保持するためにハッシュと別のデータ構造 (セットなど) が必要、または 2 つ以上の個別のハッシュが必要であることを意味します。Redis は一度に複数の構造へのアトミックな更新をサポートしているため、通常はこれが適しています。

于 2013-10-16T14:30:22.197 に答える