エントリが数値 ID を JSON でエンコードされた配列にマップするハッシュ 'users' があるとします。たとえば、整数 1 は文字列 {name: 'John', surname: 'Doe', 職業: 'plumber'} にマップされます。 .
ハッシュ内のアイテムの数値 ID は、さまざまなリストに格納されます。したがって、「foobar」がこれらのリストの 1 つである場合、そこから実際のデータを取得するには、単純な Lua スクリプトを実行します (サーバー側の結合操作を実装します)。または、私が学んだばかりのように、次のようなものを使用できます
SORT foobar BY inexistent_key GET user:*
しかし、それは各ユーザーのデータを個別のキーに保存することを意味しますが、これはコストがかかるようです (私の場合、小さなコレクションがたくさんあるので、ハッシュの Redis 圧縮を利用したいと考えています)。
最後に問題は次のとおりです。これらのリストをアルファベット順に、たとえば各ユーザーの姓、次に名前の順に並べる必要があります。基礎となるデータモデルをあまり変更せずに (可能であれば)、これを達成するための最良の方法は何ですか?
これまでのところ、私が考えることができる最善の方法は、SORT コマンドを BY 句と STORE 句と一緒に使用することでした。
SORT foobar BY surname:* STORE foobar
リストが変更されるたびに、しかしそのように私は多くのキーが必要になります. 理想的なソリューションとなる BY 句でハッシュを使用できれば、それは私には思えます。
並べ替えたいフィールドが何らかの形で制限されている場合 (数百の姓など)、文字列を整数にマッピングして Redis 並べ替えセットを使用することを考えることができますが、そうではないようです。