2011-07-29 7 views
0

LAMPサイトの長いディレクトリパス/名前とURLの短所は何ですか?LAMPサイトの長いディレクトリパス/名前とURLの短所は何ですか?

私はできるだけ効率的に自分のサイトに画像を整理しようとしています。サブディレクトリには1,000を超えるサブディレクトリがないように、多くのネストされたディレクトリを使いたいと思っています。最悪のシナリオで

、画像はこのような何かを探して格納されます:

./images/76/543/7654321/640/1.jpg 

は重大な欠点は、このような単純なもの対非常に多くのサブディレクトリを持つことにあります。

./i/a7/c3/5e.jpg 

サーバーが掘り下げなければならないサブディレクトリが増えれば、それだけ時間がかかり、ディレクトリ構造が長くなればなるほどURLは長くなり、HREFがより多くのスペースを占有するようになるHTML文書しかし、どれだけの違いが生まれますか?私たちが何百万人ものユーザーにスケールアップできるとすれば、これは私が考慮する必要があるものです(短いディレクトリ構造と長いディレクトリ構造)。

文脈については、thisをご覧ください。

ありがとうございます!

+0

yi_Hは言ったように、気にしないで、ディレクトリー間のファイルの配布は名前の長さより重要です。 – afuzzyllama

+0

@afuzzyllama:ありがとうございます。ディレクトリ間のディストリビューションは私が使いたい方法でさえあるので、ディレクトリ名の長さが長く、追加のサブディレクトリを使用してもOKです。 – ProgrammerGirl

+0

私は確信していませんが、パフォーマンスが本当に心配な場合は、ベンチマークを実行してみてください。 – afuzzyllama

答えて

0

1つのディレクトリに多数のファイルを格納すると、処理が遅くなる可能性があります。あなたはそれを分割する権利があります。ただし、パス名に含まれるすべての英数字を使用すると、長さを短くすることができます。

あなたが持っているとしたら:

/images/[a-z0-9]{3}/[a-z0-9]{3}/[a-z0-9]{3}.jpg 
/images/abc/def/ghi.jpg 

以上を使用すると、101559956668416枚の画像を保存することができます。これはおそらく何かのようにばかげているようです:

/images/[a-z0-9]{2}/[a-z0-9]{2}.jpg 
/images/ab/cd.jpg 

上記では、1679616の画像を保存できます。これは妥当な数値ですが、あなたのニーズには十分ではないかもしれません。それでは、どのようにこのことについて:

/images/[a-z0-9]{2}/[a-z0-9]{2}/[a-z0-9]{2}.jpg 
/images/ab/cd/ef.jpg 

これは2176782336(20億)の画像を可能にし、各ディレクトリは今まで1296子ファイル/ディレクトリの最大を持っています。

いくつかの大文字で、おそらくいくつかの記号で混合してください 個人的に私は最後の選択肢に行くだろう。それは素晴らしいバランスのようです。

+0

フレッシュワイヤーありがとうございます。しかし、具体的には、パス内の余分なサブディレクトリと長いディレクトリ名を使用することの欠点は何ですか?私が尋ねる理由は、私が使用したい方法では、ユーザーファイル、特にユーザーのアルバムや画像をさまざまなサイズに整理するのがとても簡単なので、私は長いと追加のディレクトリを使用することの短所を確認しようとしているそれが価値があるかどうかを判断する。私に知らせて、もう一度感謝してください! – ProgrammerGirl

関連する問題