2017-01-26 5 views
1

Webアプリケーションを作成しようとしています(ダイナミックコンテンツがたくさんあります)、スピードアップのためにキャッシュシステムが必要です。現時点では、ロードバランサでnginxを使用しています。Varnishが存在する場合memcachedを使用する理由

キャッシュから直接応答し、nginxへのリクエストを避けるためのhttpプロキシとしてワニスを探していました。

その後、私はmemcachedを見ていきます。これは、RAMの素晴らしいキー値ペアのキャッシュです。

ワニスを使用してすべてのリクエストをキャッシュし、頻繁に変更される動的コンテンツに対して少しのTTLを設定できる場合、なぜシステムをmemcachedとして必要とするのでしょうか?

私は静的コンテンツのためだけにワニスを使用し、memcachedを使用して動的コンテンツを管理する必要がありますか?

すべての要求にワニスを使用するのは悪い習慣であり、パージシステム(動的コンテンツの場合)や重い作業はありますか?

私は少し混乱してる...おかげ

答えて

2

ニス+ Memcachedのは完璧な理にかなって組み合わせたものです。

通常、ウェブアプリは、ゲストを持っており、ログインしているエリア:

ワニスは、あなたがそこに高いTTLを設定することができ、ゲスト領域をキャッシュすることにより、完全にバイパスPHPエンジンの実行に役立ちます。 例:ゲストユーザに表示される記事のコンテンツ。

のMemcachedはがPHPエンジンに負担を軽減を支援することである要求、すなわちログインしているユーザのために、ワニスキャッシュによって満たされない場合。 一般的なものには、SQLクエリやその他の一時的なデータの結果が含まれています。これは、PHPを実行するたびに再生成するのに費用がかかります。

+0

私はJavaを使用していますが、あなたが言ったことはすべての言語で同等です。ですから、 "userLoggedContent"をVarnishにキャッシュするのではなく、ログに記録されたユーザーに依存しないコンテンツだけをキャッシュしてください。 ユーザーに依存する他のすべてのコンテンツは、MemCachedを通じてキャッシュできます。 私は正しいですか? –

+0

基本的にはい。とにかくそれがデフォルトのワニス動作であることを理解する必要があります。クッキー(ログイン)に付属のリクエストはキャッシュされません。もちろん、ワーニッシュ、ログインしたユーザーのページの一部、例えばサイドバーの出力(ESIを有効にする必要がある)など、可能な限りキャッシュすることもできます。 –

関連する問題