このスレッドによると、Java から Redis を使用したい場合は、Jedis を使用するのが最適です。
ただし、Redis に既に存在するものと同様に効率的なセット操作を提供するライブラリ/パッケージがあるかどうか疑問に思っていましたが、別のサーバーをセットアップする必要なく Java アプリケーションに直接埋め込むことができます。(つまり、Web サーバーに Jetty を使用します)。
より正確には、次のことを効率的に実行できるようにしたいと考えています。
- M 人のユーザーの大規模なセットがあります (M は事前にわかりません)。
- N 個のアイテムの大規模なセットがあります。
- 一度に 1 人のユーザー/アイテムをユーザーに調べてもらい、(通常のデータベースに) 保存された結果を生成します。
- ユーザーが到着するたびに、ユーザーがまだ見たことのない既存の結果の数が最も少ないアイテムをそのユーザーに割り当てたいと考えています。これにより、すべてのアイテムをほぼ同じ回数だけ表示することに関心がある場合、到着したすべてのユーザーに対してアイテムの近似ラウンドロビン割り当てが生成されます。
上記は並列化された方法で行われます。M と N が大きい場合、Redis は上記を SQL クエリよりもはるかに効率的に実行します。Redis サーバーを起動するよりも少し軽量な組み込み可能な Java ライブラリを使用してこれを行う方法はありますか?
Java の同時実行ライブラリを使用して、これに大まかに近似する大量のコードを作成できることは認識していますが (ある程度、私はそれを実行しました)、ここで探しているのは正確ではありません。