0

私はミニ オークション サイトを作成しています (商業的/深刻なものはなく、PHP を修正しただけです)。各オークションには、投稿したユーザーがアップロードした独自の画像があります。

可能な限りスケールアップできる方法でこれを作成しようとしています。

現時点では、次の 2 つのアイデアがあります。

1) オークションごとにサブディレクトリを作成し、その中に画像を保存します。

  • マイナス: たくさんのサブディレクトリ (パフォーマンス?)

アクセス: /path/auction_id/image.png

2) 単一のディレクトリとその中のすべてのオークション画像を作成し、ファイル名でアクセスします。ファイル名の例: /path/auction_images/auction_id.png

  • 良い点: すべてが 1 か所に
  • マイナス: 1 つのディレクトリ内に非常に多くのファイルが存在する

これらの方法の 1 つが他の方法よりも優れているか、それとも全体としてより良い方法がありますか?

ありがとう

4

2 に答える 2

0

番号 1 が最良の選択肢です。あったとしても、パフォーマンスに大きな違いはないはずです。どちらかといえば、1 つのディレクトリに多数のファイルがあるかのように実際には高速である可能性がありますが、それらを検索することもパフォーマンスの問題です。それらがサブディレクトリに分割されると、見つけやすく、掃除しやすく、より良い方法のように思えます!

また、アイテムが投稿されたときのサブディレクトリを追加して、x 日後に非常に簡単にクリーンアップできるようにすることもできます (cron ジョブなど) (ディスク使用量を抑えます)。何かのようなもの:

uploads/{date}/{item_id}/{attachment_name (id + extension)}
于 2013-10-14T15:16:12.927 に答える