1

渡されたキーに基づいて redis キャッシュからオブジェクトのリストを取得するにはどうすればよいですか?

redis キャッシュの cachemanager.net を調査しています。私は例を見てきました。しかし、渡されたキーに基づいてオブジェクトのリストを取得することに関連する例は見つかりませんでした。

var lst =cache.Get("Key_1");

1 つのオブジェクトのみを返しています。

しかし、私はこのようにしたいと思います。Key_1, Key_2, Key_3.....のようなキー名で 1000 個のオブジェクトをキャッシュに保存しましKey_1000た。Key_*Keyとして渡すと1000個のオブジェクトのリストを取得したい。

4

2 に答える 2

0

代わりに redis ハッシュを使用できます。そして、hgetall コマンドを使用して、そのハッシュのすべての値を取得できます。

http://redis.io/commands#hash

または、通常のキーと値のペアを使用する場合は、それを実現するために lua スクリプトを作成する必要があります。

local keys = redis.call('keys','key_*')
return redis.call('mget',keys)

キーはブロックしているため、本番環境ではお勧めできません。

キーの代わりに scan コマンドを使用して、そのパターンに一致するすべてのキーを取得し、同じ手順に従って同じことを達成できます。

于 2016-06-15T08:09:38.790 に答える