学習Redisの - パイプライン

すでに中に含まBenpian アクションラーニングノートシリーズでのRedis

RedisのはRedisの途中でパイプラインパイプラインは、それによって効率を高める、書き込み操作のクライアントとサービス側たら、複数の通信を完了することができます。Redisのトランザクションは、非トランザクション例を使用する方法、その後、実際にはパイプラインの基本的なメカニズムに依存しています。

非トランザクションパイプライン

コマンドは、hmset、hmget、MGET、MSET、rpush、lpush大幅に操作コマンドが同じコマンドを繰り返す必要が簡素化、かつ、等、コマンドの複数の部材を介してサーバに書き込むことができる多くのRedisがありますパフォーマンスが向上します。

なぜ、常にパフォーマンスを向上させるために、トランザクションを使用しません

企業が使用しているためmultiexecトランザクションを処理する際の問題彼らは両方のサーバと同じリソースを消費し、他のコマンドを処理することはできません。

いくつかの具体的な例は、持参するパイプラインの性能を向上させる必要性を実証します

本全体の例では、アクションでのRedis:

更新ユーザトークン操作機能、元の論理演算を含むたびに行ってもよい。この関数ようにサーバとの通信2-5回2が必要 - 10ミリ秒、この速度を算出する完了するために、毎秒単一のサーバ。 100--500要求を処理。

パイプラインの最適化機能の使用を見てください:

この更新操作で、回数は、通信サーバはそれに500--1000要求を改善するために処理することができる毎秒、次いで1/2または1/5、サーバ要求によって低減されます。

理論的には、このアップグレードはそうは実際の試験の後に。非常に良いされている、まだ。著者らは2つのクライアント環境シミュレーションテストを使用し、低遅延ネットワーク環境で、他は遅く高遅延ネットワーク環境で、すべて同じにアクセスサーバー。

テストコード:

次のようにテスト結果は以下のとおりです。


私たちは、あなたがネットワーク環境の影響を受けた場合、その差は明白効率とパフォーマンスの問題で、見ることができます。

おすすめ

転載: www.cnblogs.com/it-dennis/p/12571286.html