2009-09-04 5 views
8

ユーザープロファイルのイメージは別のファイルサーバーに保存されています。私はmemcachedでキャッシュすることを考えています。 memcachedサーバーは、アプリケーションのローカルであり、各イメージは1MB未満です。Memcachedでのイメージのキャッシュ

しかし、私はhereを見ましたが、画像用にmemcachedを使うのは悪い考えです。本当か?私は本当に確信していません。

ベストプラクティスと提案はありますか?私はSpyMemcached Java Clientを使用しています。

答えて

5

Linuxは、ディスクから読み込まれたファイルを自動的にキャッシュします。 Squidのようなプロキシのキャッシングも画像をキャッシュするのに適しています。

だから確かに仕事のためのより良いツールです。一方、nginxは最近memcachedサポートを追加しました。文脈がなければ、その推薦を判断することは本当に難しいです。

"PHPスクリプトを使ってmemcachedから画像を提供しない"という意味かもしれませんが、その場合は絶対に間違いありません。PHPにはオーバーヘッドが加わります。しかし、Nginxのmemcache機能を使ってイメージを保管して提供することが悪いことは、必ずしもわかりません。

編集:ある時点でfacebook may have cached profile images in memcachedが表示されます。

+1

私は既にアプリケーション用にmemcachedを使用しており、たくさんのものを保存しています。したがって、ファイルをキャッシュするためにespを意味する他の方法を使用するのではなく、イメージ用のMemcachedを使うという誘惑があります。 – Langali

+0

警告:PHPフレームワークの起動に要する時間よりも短い時間で、apacheがディスクからイメージを提供することができます。 自分でベンチマークすることはできますが、ウェブサーバーがフラットファイルを提供するのに本当に良いことがわかります。 –

+0

3つのTomcatインスタンスの前に3つのApacheサーバーがあり、別々のファイルサーバーと通信しています。理想的には、私はちょうどそれをCDNにオフロードするか、またはApacheにローカルに保存しますが、役割に基づいてそれらのイメージへのアクセスを保護する必要があります。それは私をTomcatからサーバに制限します。したがって、同じネットワーク内の分散キャッシュは、Memcachedが私にとって意味を持つ理由です。 私は私のベンチマークが言っているものを見ます。 – Langali

関連する問題