Redis プロトコル形式で次のコマンドを含むファイルを作成した場合:
SET Key0 Value0
SET Key1 Value1
...
SET KeyN ValueN
アプリケーションで Jedis を使用して Redis にフィードするにはどうすればよいですか?
パイプラインを使用できます。個々の応答を待たずに複数のコマンドを送信し、一意の応答を取得できます。この機能を使用すると、パフォーマンスが向上します (基本的な実装と比較して x5 が期待できます)。
実装は次のようになります。
Pipeline p = jedis.pipelined();
for (int i=0; i < numberOfItems; i++) {
p.set(key[i], value[i]);
}
List<Object> results = p.syncAndReturnAll();
編集
OPはTomcatから実行するソリューションを探しています。後でわかりました。ここでは生の Redis プロトコルを使用することはお勧めしません。パスカルの答えを使用してください。
/編集
私は、パイプライン処理がほぼ最速の大量挿入に適した方法であるという Pascal の意見に同意します。ただし、OP は既に Redis プロトコルについて話しているため、パイプライン処理よりもさらに高速です。
ただし、 Redis クライアント (Jedis など) から使用するためのものではなく、redis-cli と組み合わせてサーバー上で直接使用するためのものです。
詳しくはこちらをご覧ください。
これが役に立てば幸いです、TW