2017-02-04 7 views
2

私はRedisとrubyを使用します。レコードがあります:Redis - keys、式

"phones:initial:#{id}" 

redis.hset "phones:initial:1", "query", query 
redis.hset "phones:initial:2", "query", query 
redis.hset "phones:initial:3", "query", query 
redis.hset "phones:initial:4", "query", query 
... 

idは式に対応していますか?

"phones:initial: and id % m = n 

答えて

1

いいえ、それを行う組み込みの方法はありません。 SCANコマンドを使用してすべてのキーを反復し、指定されたパターンに一致するものを選択する必要があります。

あなたは常に発現のための同じmを使用する場合は、あなたが各idためn-計算を事前、およびキーの一部としてnを作ることができます。このようにして、Redisのパターンマッチを使用して特定のキーを取得できます。

例えば

は、m == 2は、次の新しいキーを持つことができるとしますphones:initial:1:1phones:initial:0:2phones:initial:1:3phones:initial:0:4phones:initial: and id % 2 == 0に一致するキーを取得するには、次のコマンドを使用します。SCAN 0 MATCH phones:initial:0:*