用Hash目录优化文件存储

转载 2006年06月26日 08:43:00
Hash目录是一种优化文件存储性能的方法。无论是Windows还是Linux,无论是NTFS还是ext3,每个目录下所能容纳的项目数是有限的。并不是不能保存,而是当项目数量过大的时候,会降低文件索引速度,所以权衡一个目录下应该保存多少文件是很必要的。保存得多了会影响性能,保存得少了会造成目录太多和空间浪费。所以当保存大批文件的时候,需要有一种算法能将文件比较均匀地“打散”在不同的子目录下以提高每一级的索引速度,这种算法就是Hash。通常用的MD5、sha1等都可以用来做Hash目录,我的mSession里也同样使用了MD5,取得sessionID的第一位和第九位,这就构成了两级Hash路径,也就是说,系统把所有的Session文件分散到了16×16=256个子目录下。假设Linux每个目录下保存1000个文件可以获得最好的空间性能比,那么系统在理想情况下可以同时有256000个session文件在被使用。

F2FS文件系统架构与原理分析(四)——F2FS的目录结构与目录哈希

from :  http://blog.chinaunix.net/uid-28989651-id-3909400.html
  • Fybon
  • Fybon
  • 2014年08月22日 11:12
  • 1221

Ext4文件系统架构分析(三) ——目录哈希、扩展属性与日志

原文来自 http://blog.chinaunix.net/uid-28989651-id-3981448.html 1.19 哈希树目录 线性目录项不利于系统性能提升。因而从ext3开始加...

从头到尾彻底解析Hash 表算法

               十一、从头到尾彻底解析Hash 表算法 作者:July、wuliming、pkuoliver  出处:http://blog.csdn.net/v_JUL...

文件系统——Hash结构文件

实验四 文件系统——Hash结构文件     一、实验目的 1、理解Linux文件系统的内部技术,掌握Linux与文件有关的系统调用命令,并在此基础上建立面向随机检索的hash结构文件。 ...

Android文件存储目录结构

应用程序在运行的过程中如果需要向手机上保存数据,一般是把数据保存在SDcard中的。 大部分应用是直接在SDCard的根目录下创建一个文件夹,然后把数据保存在该文件夹中。 这样当该应用被卸载后,这些...

文件上传之分目录存储及上传监听

1.分目录存储 (1)同一文件夹下的文件不能重名,此时用UUID改造文件名,使文件名独一无二 String uuidname = UUID.randomUUID().toString()+"_"+...

rac环境将误建立在本地目录的数据文件转移到ASM存储中。

----------------------非系统表空间 SQL> set linesize 150 SQL> set pagesize 400 SQL> column file_name for...

Linux命令大全(九)--Linux文件存储结构,包括目录项、inode、数据块、创建链接

大部分的Linux文件系统(如ext2、ext3)规定,一个文件由目录项、inode和数据块组成: 目录项:包括文件名和inode节点号。Inode:又称文件索引节点,包含文件的基础信息以及数据块的...

链表应用——按字母顺序存储并输出某目录下的子文件或子目录名

#include #include #include #include #include #define OK 0 #define ERROR -1 typedef struct Nod...
  • itccccc
  • itccccc
  • 2014年07月06日 18:27
  • 291
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用Hash目录优化文件存储
举报原因:
原因补充:

(最多只允许输入30个字)