データベースにファイル名の値を保存せずに、ユーザーが生成したアップロードを処理する方法を決定するのに苦労しています。ユーザーがプロフィールのアバター/画像をアップロードすると、CDNに作成します。PHPのアバターヘルパーはコンテナのURLを知っているので、簡単にエコーできます'http://cdn-static-url.com/'.$userId.'.jpg
ただし、ユーザーがアバターを再アップロード/変更した場合、TTLが期限切れになるまで古い画像がCDN全体にキャッシュされるか、パージリクエストを送信します(クラウドファイルを使用し、無制限のパージリクエストがありますが、それでもパージは即時ではありません)。
画像の再アップロードをどのように許可する必要がありますか。
- すぐに変更を強制し、
- パージのステータスをユーザーに警告します(「新しいイメージの更新にはX時間かかる場合があります」、これは見たことがありません)
- CDNに新しいオブジェクトを作成します。これは、ファイル名への参照をMySQLに保存することを意味します(その後、ページにアバターのURLをエコーするたびにSELECTを実行します...)
- 上記を使用して、各オブジェクトの現在のURLにMemcacheを活用しますか?