2017-09-07 11 views
0

私は単純なキャッシングの問題があります: 私は古い "name.jpg"を持っていて、顧客は新しい "name.jpg"をアップロードし、クライアントはまだキャッシュされた古い "name.jpg"グライドキャッシングの振る舞い

私はキャッシングをオフにする方法を知っていますが、それは良い決定ではありません。

そこで質問です:

私は疑問符の後にパラメータを取得する場合は追加の作業をキャッシュしない方法は?例えば

私はURL

http://example.com/name.jpg?cache_time=111

を持っている。そして、私は

http://example.com/name.jpg?cache_time=222

にそれを置き換えることが二name.jpgとREPLACをダウンロードします既存かどうか?私はcssまたはjsのファイルをブラウザーで知っていますが、glideの動作については何も知りません。

+1

Glideリクエストビルダーの 'signature()'メソッドを見たいと思うかもしれません。無効化に使用する独自のデータを追加することができます。 javadocから: メモリとディスクのキャッシュキーに混在する追加データを設定し、キャッシュされたデータが無効になるタイミングを呼び出し元がより詳細に制御できるようにします。 注 - 署名はキャッシュキーを置き換えるものではなく、純粋に加算的です。 – cwbowron

答えて

1

urlクエリで渡すパラメータはすべて、そのサーバがその正確なパラメータ(cache_time)を処理する場合のみ、そのサーバが画像を提供するサーバに送信され、動作に違いがあります。

キャッシンググライドは、サーバーに送信する内容に基づいているのではなく、グライドに与える設定に基づいています。

グライドがキャッシングをどのように処理するかを調べ、特定のイメージが変更されたことを知ったときにキャッシュを手動で無効にすることをお勧めします。

これは、開始するのに適した場所です:Remove image from cache in Glide library。また、上記のコメントに記載されているsignature()の使い方の例もあります。

+0

そのcache_timeは "Cache-Control:max-age"ヘッダーになりますか?はいの場合は正常に動作しませんが表示されます – DEADMC

+0

いいえ。クエリパラメータはヘッダーではありません –

+0

助けてくれてありがとう – DEADMC