Webアプリケーションでは、ページをレンダリングするために多数のredis呼び出しを行う必要があるとします。これをスピードアップするために、MULTI/EXECセクションでredisコマンドをラップして、パイプラインを使用することで、多くのラウンドトリップを避けることができます。しかし、あなたはまたたくさんのデータを持っているか、書き込みを配布したいので、あなたのデータを断片化したいと思っています。ハッシュ関数を使用するのではなく、役割に基づいてアプリケーションとシャードのデータレイアウトを明確に理解していない限り、異なるキーが異なるノードに存在する可能性があるため、パイプライン処理は機能しません。だから、概念的にユニークな仕事を完了するために多くのサーバーに連絡が取られているため、パフォーマンスをあまり損なうことなく、異なるサーバー間でデータを破棄するベストプラクティスは何ですか?答えは、開発中のWebアプリケーションに依存し、最終的にはいくつかのテストを実行しますが、私が言及したトレードオフに他人がどのように対処しているかを知ることは役に立ちます。redis sharding、pipeline、round-trips
6
A
答えて
4
MULTI/EXECとパイプライニングは2つの異なるものです。パイプライニングなしでMULTI/EXECを実行することもできますし、逆も可能です。
シャードとパイプラインを同時に実行する場合は、操作をRedisインスタンスごとにパイプラインにグループ化し、各インスタンスに対してパイプラインを使用する必要があります。さらにパフォーマンスを向上させるためにhttps://gist.github.com/2587593
一つの方法は、操作が(つまり、あなたのグループの操作をグループ化された後のRedisインスタンス上でトラフィックを並列化することで、あなたはすべてにそれらを送信します。ここでは
は、Rubyを使った簡単な例です。すべてのインスタンスからの回答を待つ)。非同期非ブロッキングクライアントが必要なため、これは少し複雑です。最高のパフォーマンスを得るには、C/C++をクライアント側で使用する必要があります。これはhiredis +あなたが選んだイベントループを使うことで簡単に実装できます。
関連する問題
- 1. Redis Shardingパフォーマンスとo(1)getキーの複雑さ
- 2. AndroidテストSharding with Spoon
- 3. ループのためにRubyでRedis pipelineを使用するには?
- 4. Laravel PipelineでRedisからデータにアクセスする
- 5. Jenkins Pipeline Jenkinsfile: 'node'と 'pipeline'ディレクティブ
- 6. NHibernate Shardingプロジェクトを構築するには?
- 7. Sharding Mongo発見に驚いた
- 8. jenkins pipeline warningsグラフ
- 9. sklearn GridSearchCV with Pipeline
- 10. Jenkins pipeline、parse csv
- 11. Dynatrace with Jenkins pipeline
- 12. Bitbucket Pipeline sass
- 13. ImportError:No pipeline - Scrapy/PyInstaller
- 14. C#-Pipelineスタイルイベントモデル
- 15. django-pipeline not compressing
- 16. Jenkins pipeline parallel exeucting
- 17. Jenkins pipeline selective delete
- 18. Jenkins Pipeline API
- 19. Jenkins pipeline BuildDiscarderProperty
- 20. Bitbucket pipeline ipv6 VPS
- 21. UnZip Dissambler Pipeline
- 22. Jenkins pipeline - git branch
- 23. Jenkins Pipeline Dashboard
- 24. Bitbucket Pipeline + Firebase hosting
- 25. JenkinsのDelivey Pipelineプラグイン
- 26. Rails 5とasset-pipeline
- 27. Jenkins 2 pipeline + maven release
- 28. Jenkins Pipeline Groovy json parsing
- 29. C - stdin、unix pipeline、EOF
- 30. MongoDBが$ lookup集計演算子でShardingを使用する
洞察のために100万のおかげで、特にトラフィックを並列化することについて少し感謝します! – idrarig