0

redis以下の特定のキーを使用していくつかのデータを保存しています。
いくつかのキーを次のようなredisに保存しました

key1 = https://abc.net/v/140225014843/css/
key2 = https://abc.net/v/153729007613/css/
key3 = https://abc.net/v/240125414249/css/
key4 = https://abc.net/v/140225014843/css/:トークン
key5 = https://abc.net/v/240125414249/css/:tokens

今、私は data = 140225014843 キーをフェッチしたいと思っています。それはそのデータをその中に持っている値です。
例: key1 にはデータが含まれているため、redis から key1 を取得したいと考えています。私はdjango-redisを使用しています。

編集:
Key4 にもデータが含まれていますが、 key1 のようなパターンのキーのみを取得したいと考えています。

4

1 に答える 1

1

キーの命名方法は重要な決定であるため、再考する必要があります。

持っている各データ値に対してリストを使用できます。その値はキーであり、そのデータ値の「パス」はリストのメンバーです。

たとえば、あなたの場合、次のことができます:

redis> RPUSH 140225014843 "css/"
redis> RPUSH 153729007613 "css/"
redis> RPUSH 240125414249 "css/"
redis> RPUSH 140225014843 "css/:tokens"
redis> RPUSH 240125414249 "css/:tokens"

データの可変部分に応じて、このアプローチを調整できます。たとえば、「css/」が常に存在する場合は省略できます。

また、リストに重複を入れたくない場合もあります。その場合は、代わりにSetを使用する必要があります。

于 2014-02-25T09:33:19.137 に答える