1

バイト配列イメージのリストがあります。

HTMLページに画像を表示しています。このような画像を 25 枚表示したい場合は、データベースに 25 回アクセスする必要があります。

避けたいので助けてください。

HTMLコード

myProfile.init(function (map) {
    dom.byId("Image").src="UserImageDisplay?&userId="+map["userId"];    
}

Java コード

byte[] image = userSession.getPhoto(Integer.parseInt(request.getParameter("userId"));

response.setContentType("image/imagetype");

OutputStream out = response.getOutputStream();

out.write(image);
out.flush();
out.close();
4

2 に答える 2

1

DBでもファイルサーバーでも、どこかからイメージを取得できます。

あなたが提案したので、あなたはそれをDBから毎回ロードしたくありません。

これがパフォーマンスを改善するために私がすることです。

1)Cache your imagesDbから1つ(キャッシュでは使用できない)をフェッチするときはいつでも。2)The cache can be Server Memory(すぐにメモリが不足する可能性があるため、これに対して強くアドバイスします)or cache the images in local storage、。

3)Storing of images in the cachedone realtimeつまり、ファイルがWebアプリから要求されたとき、またはyou could schedule a cron/batch job事前にそれを行うことができます。できればオフピーク時に。

からの選択3 and 4 depends on how frequent the images are updated in the Database。お任せします。

4)明示的にすることができます。タグspecify the browser to cache the imagesでそれを達成することが できます

于 2013-03-08T09:10:01.543 に答える
0

画像をキャッシュする必要があると思います。

イメージ ファイルを生成する cron ジョブを開始することをお勧めします。

于 2013-03-08T07:01:48.573 に答える