ext3の1ディレクトリに大量のファイルを配置すると、 ファイルアクセスが遅くなります。 一般的な回避策は、何らかのハッシュ値でディレクトリを階層的にする方法ですが、実際にやるとなると数行でできるとは言えちょっと面倒です。 そこで、これを手軽に実現できるようにライブラリに追加しました。
Pathnameと同じAPIですので、 最初はPathnameで使っておいて、 数が増えたらHashnameに変えるという使い方ができるので便利だと思います。 (マイグレーションも両者で一緒にloopするだけでOK)
1 import com.s21g.rubyist.{Pathname,Hashname} 2 3 val path = Pathname("data/users/910.xml") 4 val hash = Hashname("data/users /910.xml") 5 6 path.path // => "data/users /910.xml" 7 hash.path // => "data/users /e/2/0/e20 5ee2a5de47 1a70c1fd1b 46033a75f/ 910.xml" 8 9 hash.write("Love Scala!") 10 hash.read // => "Love Scala!" 
また、com.s21g.r
参考
      posted by
      
        
           maiha
        
      
      on Wed 19 May 2010
      at 03:44
 maiha
        
      
      on Wed 19 May 2010
      at 03:44
      
        
      
      
            
    
  


