2009-07-11 2 views
1

私は、BLOBフィールドにいくつかの画像を含む既存のデータベースを持っています。 Webアプリケーションの場合は、それらを表示する必要があります。データベースにブロブとして保存する必要があるときに、ブラウザに画像を送る最良の方法は何ですか?

サーバへの負荷とメンテナンスとコーディングの労力を考慮して、これを行う最良の方法は何ですか。外部ファイルへの

  • 「キャッシュ」ブロブとブラウザにファイルを送信:

    私は、次を考えることができます。

  • 要求があるたびにデータベースから直接読み取ります。

一部additionals事実:

  • 私は、データベースを変更することはできませんし、alltogetherの塊を取り除くだけ(古き良きアクセス日のように)データベース内のファイルの参照を保存し、データベース理由実際にブロブを必要とする別のアプリケーションによって使用されます。
  • 画像はほとんど変わりません。つまり、画像がデータベース内にある場合、その画像はほとんど変わりません。
  • 画像に多くの読み取りアクセスが存在するため、1つのビューにつき10-100枚の画像が表示されます。項目が要求された最初の時間は、データベースからそれを読む:私はあなたの2つのアイデアの組み合わせをお勧めします< 500キロバイト

答えて

1

  • 写真はrelativly小さい(ユーザーの設定に応じて)。しかしその後は、イカのようなものにキャッシュされていることを確認して、要求されるたびに検索する必要はありません。

  • 1

    1つのimprotant事は...(すべてではないplattformsは/ Webサーバがあることが可能)を正しくHEADリクエストに応答し、適切に有効期限を設定...つまり、適切なHTTPキャッシュコントロールを使用するに

    キャッシュTHOSの塊でありますファイルシステムは私にとって理にかなっています...もしDBが別のサーバで動作していれば...さらにそうですが、そうでない場合でも、ローカルソケットを介してデータをパイプするのではなく、簡単なファイルアクセスがもっと安いと思います。 ..あなたがファイルシステムにDBをキャッシュしたならば、おそらくあなたのために良いキャッシュコントロールを行うようにWebサーバーを設定することができます...もしそうでなければ、あなたはおそらく要求する必要があります。あなたのキャッシュをより効率的にするために、画像の最終更新...

    greetz

    back2dos

    関連する問題