エコー、編集、転載を歓迎し、記事のソースを宣言してください。学習の交流:エコーマイクロ手紙(t2421499075マイクロ・シグナル)を追加へようこそ。バトルは、無敗勝利主張ではないによると、敗戦後の敗北は、前方に移動するのに苦労エネルギーによると、退廃的ではありません。 - これが本当の定格電力です!!!
我々はRedisのに大量のデータを挿入するために通常の方法を使用する場合、我々はときに私たちの挿入に非常に遅く、大量のデータになりますなぜRedisのスループット10ワット持つように、我々のデータは非常に速くRedisの広報挿入されないという主張を見つけますか?これは、本明細書の他の場所で行う記述されています
10ワットスループット質量挿入は反映されていませんか?
Redisのは10ワットスループット自慢、私たちが挿入するために通常の方法を使用して、我々は、我々は、複数の接続操作を挿入すると接続が行われている間、それは、接続を作成するために時間を要する主な理由は、そのようなデータに到達しなかったことが判明しましたパケットトランスポートネットワークの複数のパケットは、同じことを保証するものではありません。これらは私たちにデータ挿入のパフォーマンスの多くに影響を与えています。
キック第二のデータの挿入を達成するためにどのように?
使用パイプライン
次のようにコードは次のとおりです。
// 在pom依赖中添加jedis依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
// 使用jedis实现pipeline调用
public static void main(String[] args) {
Jedis jedis = new Jedis("192.168.222.135", 6379);
Pipeline pipeline = jedis.pipelined();
long startTime = System.currentTimeMillis();
IntStream.range(0, 1000000).forEach(it -> pipeline.set("batch" + it, it + ""));
pipeline.syncAndReturnAll();
long endTime = System.currentTimeMillis();
System.out.println(endTime - startTime);
}
次のように挿入速度が見つかりました:
原則
パイプラインは、実際にI / O操作の多くでは、当社の事業に保存され、私たちは、操作/ O操作は、I / Oの多くの時間を節約し、I / O操作となり得るか、セット以上になります。同時に、その影響を最小限に抑えるために、当社のネットワークの問題は、I / Oデータパケット伝送います。
ご注意ください
私たちのRedisのパスワードであれば、我々はパスワードを設定するには、上記のコードの1行を追加する必要がありますので、
jedis.auth("密码");
メインブログの一番下の行であるために