問題タブ [imageresizer-diskcache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - ImageResizer の ImageCache に Azure Blob Storage を使用できますか
基本的には、ソース イメージが Azure Blob Storage に格納され、imageresizer が Azure App Service で実行され、Azure CDN が CDN レイヤーである、推奨されるクラウド アーキテクチャを使用します。
それにもかかわらず、ImageResizer v3、Azure App Service デプロイ スロット、および DiskCache で問題が発生しています。
中断を防ぐために、Azure App Service のステージング スロットを使用します。また、DiskCache プラグインも使用します。構成を行わないと、イメージキャッシュはスロット固有の D:\home\site\wwwroot\imagecache\ に書き込まれます。
これにより、次の 2 つの問題が発生します。
- スロットを交換すると、使用されているイメージキャッシュが古くなり、多くのイメージが失われます。
- App Service プランでは常に古いイメージキャッシュがディスク容量を占有しています。Microsoft のアドバイザーは、DiskCache に仮想ローカル ファイル システムの代わりに Blob Storage を使用することを推奨しています。
BlobCachePlugin または S3CachePlugin がないことに気付きました。これには正当な理由があるのではないかと考えていました。
私の質問は次のとおりです。
- ICache インターフェイスを実装するカスタム BlobStorageCachePlugin を使用して Azure Blob Storage にイメージキャッシュを保存しない理由はありますか?
- 正当な理由がある場合、デプロイ スロットの問題を回避するために、どの代替アーキテクチャをお勧めしますか?
android - Android のビットマップ (およびその他) 用の DiskLRUCache
Android では、多くの画像読み込みライブラリ (ディスク キャッシュにストレージの 2% を使用するPicasso、Glide など) が、メモリ内 lru キャッシュに加えてディスク キャッシュを使用します。これがネットワークからダウンロードされた画像に役立つ理由を理解できます-メモリ内キャッシュがいっぱいの場合は、リモートでフェッチするのではなくディスクから読み取ります-ネットワークの遅延などを回避します。ただし、ローカル画像を読み取るだけの場合Androidデバイス自体で-シリアル化されたビットマップデータで別のディスクキャッシュを使用することで何かを得ることができますか-とにかくデータをディスクから読み取る必要があるためですか? アプリがサムネイルを必要とし、元の画像を一度サブサンプリングしてキャッシュに保存する場合は、おそらく理にかなっていますか? パフォーマンスの向上を示す研究はありますか。Google サンプルでディスク キャッシュの使用を見てきましたおよびその他のビットマップ キャッシュライブラリ。