キャッシングとプーリングの違いは何ですか?キャッシングとプーリングの違いは何ですか?
答えて
キャッシュ - 頻繁に使用される値を格納します。これは通常、ルックアップや作成が重要でないためです。例えばデータベースのルックアップテーブルが頻繁に使用されたり、値がディスク上のファイルから読み取られたりすると、メモリ内に保持して定期的に更新する方が効率的です。
キャッシュはキャッシュ内のオブジェクトの有効期間のみを管理しますが、キャッシュに保持されているものにセマンティクスを課すものではありません。キャッシュはアイテムを作成するのではなく、オブジェクトを格納するだけです。
プール - プール自体によって管理されるリソースのグループを表す用語。例えば(データベース)接続プール - 接続が必要な場合はプールから取得し、終了した場合はプールに戻します。
プール自体は、プールされたオブジェクトの作成と破棄を処理し、一度に作成できるオブジェクトの数を管理します。
プールは通常、オーバーヘッドを減らし、リソースへのアクセスを制限するために使用されます。すべてのサーブレット要求がデータベースへの新しい接続を開くことを望まないでしょう。アクティブな要求とオープンな接続との間に1対1の関係があるためです。これらの接続を破壊するオーバーヘッドは無駄であり、データベースを簡単に圧倒することができます。プールを使用することにより、これらのオープンな接続を共有することができます。例えば、500のアクティブな要求は、典型的な要求が接続を必要とする時間に応じて、わずか5つのデータベース接続を共有することができる。
キャッシュプール - ほとんどの(独立した?)キャッシュの数を記述しているようです。例えば。 asp.netアプリケーションには、アプリケーションドメインごとに1つのキャッシュがあります(キャッシュはasp.netアプリケーション間で共有されません)。文字通りキャッシュのプールですが、この用語はめったに使用されないようです。
両方ともオブジェクトの再利用を目指しています。この区別は、通常、ステートフルフォースに沿って行われます。プールはステートレスなオブジェクトの集合であり、キャッシュはステートフルなオブジェクトの1つです。 this explanationを参照してください。
キャッシュとは通常、高速検索のためにデータの静的コピーを保持すること(値の取得または計算が高価であることを前提とします)を指します。
通常、プーリングは、(リソースの作成または廃棄が高価であることを前提として)迅速な使用のために多数のリソースを保持することを指します。
プロセスのメモリフットプリントを再利用したり減らしたりするために(オブジェクト作成オーバーヘッドもなくなります)。 1つの注目すべき違いは、プールでは、キャッシュ内(少なくともLRU内)で新しく作成されたオブジェクト用のスペースを確保するためにオブジェクトを退去させるコンテキストの存続期間中、同じオブジェクトを何度も何度も繰り返し使用することです。
次の質問の回答がもう1つあります。特定のオブジェクトが返されたかったり、オブジェクトが正常に返されたりしますか?その答えは、あなたが必要とするもの、つまりキャッシュまたはプールを明確にします。
- 1. difftimeと ' - 'の違いは何ですか?
- 2. A`と ``の違いは何ですか[:] `
- 3. `&`と `ref`の違いは何ですか?
- 4. バックスティックと$()の違いは何ですか?
- 5. `##`と `hashCode`の違いは何ですか?
- 6. "$^N"と "$ +"の違いは何ですか?
- 7. #{} $ {}と%{}の違いは何ですか?
- 8. typedefとの違いは何ですか?
- 9. %Qと%{}の違いは何ですか?
- 10. `==`と `is`の違いは何ですか?
- 11. $と$$の違いは何ですか?
- 12. NodeJS:「./ ..」と「..」の違いは何ですか?
- 13. $ dirtyと$ invalid:違いは何ですか?
- 14. Backbone.jsとPusherapp - 違いは何ですか?
- 15. libspeとlibspe2?違いは何ですか?
- 16. リストと何か([_])と何か(_)の違い
- 17. Chromeのキャッシングは気違いのブラウザのようです
- 18. decodeURIComponentとunescapeの違いは何ですか?unescapeの問題は何ですか?
- 19. コロンの配置の違いは何ですか:何かと何か:
- 20. GoogleのDremelとは何ですか? Mapreduceとの違いは?
- 21. 重要な違いは何ですかext2-ext3とext3-ext4の違いは何ですか?
- 22. 「アソシエーション」と「リレーション」という用語の違いは何ですか?
- 23. 接続プーリングのための良い設計パターンは何ですか?
- 24. グロムとは何ですか? mapPartitionsとの違いは?
- 25. AndroidでThread.run()とHandler.post()とServiceの違いは何ですか?
- 26. Androidでは、MotionEventのgetAction()とgetActionMasked()の違いは何ですか?
- 27. XSLT属性の違いとは何か
- 28. nHibernateのICriteriaとICriterionの違いと利点は何ですか?
- 29. BasicHttpsBindingとWsHttpBindingのトランスポートセキュリティとの違いは何ですか?
- 30. MSBuildの@と$と%の違いは何ですか?