用户文件资料存取(千万级别用户资料文件夹简单保存)
2017-02-22 18:47
204 查看
如何用文件夹保存千万级别用户资料.
问题: 要保存一千万个用户资料 , 是不是要建立一千万个文件夹 , 每次查找用户资料都要遍历一千万个文件 ? 错 , 通过对文件夹分类 , 达到遍历最多遍历3000 个文件夹就能找到用户 , 此处涉及的内容有文件分类.
文件夹分类:
第一级目录:
一个主文件夹
第二级目录:
主文件夹根据MD5(用户名)的前两位值新建一个文件夹,由于用户名的唯一性,MD5(用户名)值也是唯一性,前两位组成的字母由0-9和26个字母组成,组成的文件夹名有1296个. (当然,这些文件夹是用户上传资料时,代码新建的)
第三级目录
对第二级目录的每个目录下 , 再进行一次MD5(第二级目录名用户名)取前两位,新建目录.
通过第三级目录下新建以用户名为名字的文件夹保存用户资料
通过文件夹分类,服务器要遍历的一千万个文件夹变成了最多2598个文件夹就能找到用户 , 效率大大提高
针对4可能存在用户名乱码导致文件夹问题 , 通过MD5(用户名) 为用户取别名 , 并用MD5(用户名) 来代替用户文件夹 .
以下是代码思路:
问题: 要保存一千万个用户资料 , 是不是要建立一千万个文件夹 , 每次查找用户资料都要遍历一千万个文件 ? 错 , 通过对文件夹分类 , 达到遍历最多遍历3000 个文件夹就能找到用户 , 此处涉及的内容有文件分类.
文件夹分类:
第一级目录:
一个主文件夹
第二级目录:
主文件夹根据MD5(用户名)的前两位值新建一个文件夹,由于用户名的唯一性,MD5(用户名)值也是唯一性,前两位组成的字母由0-9和26个字母组成,组成的文件夹名有1296个. (当然,这些文件夹是用户上传资料时,代码新建的)
第三级目录
对第二级目录的每个目录下 , 再进行一次MD5(第二级目录名用户名)取前两位,新建目录.
通过第三级目录下新建以用户名为名字的文件夹保存用户资料
通过文件夹分类,服务器要遍历的一千万个文件夹变成了最多2598个文件夹就能找到用户 , 效率大大提高
针对4可能存在用户名乱码导致文件夹问题 , 通过MD5(用户名) 为用户取别名 , 并用MD5(用户名) 来代替用户文件夹 .
以下是代码思路:
相关文章推荐
- 一个简单的利用ini配置文件以及用户输入的交互进行文件夹内容拷贝的批处理文件脚本的实现
- (二)linux简单介绍:文件目录、用户管理、Vi编辑器、运行级别
- 存取用户资料的可选方法
- c#保存文件时候的弹出选择要保存的文件夹带新建文件夹效果的类代码
- 文件上传[多文件上传与简单操作文件上传实例(文件上传,自动重命名,自动添加文件夹)]
- 简单删除文件或文件夹的批处理
- 多文件上传与简单操作文件上传实例(文件上传,自动重命名,自动添加文件夹)
- 信息编辑,上传文件编辑、删除,用户个人资料修改程序完成 2004-08-21
- Windows server 2008文件服务器之一隐藏用户无权限访问的共享文件夹 推荐
- 在DELPHI中更简单的存取JPEG文件到SQLSERVER数据库-Delphi-编程开发
- 在DELPHI中更简单的存取JPEG文件到SQLSERVER数据库-Delphi-编程开发
- 简单录、放音并保存为wav文件程序
- 用ASP简单封装了几个函数,使用ServerXMLHTTP把网络上的文件保存到本地服务器.
- C# Visual Studio 2005中让保存文件对话框将文件保存到指定的文件夹
- c#中选择文件夹而不是文件的简单方法
- 文件上传[多文件上传与简单操作文件上传实例(文件上传,自动重命名,自动添加文件夹)]【深海原创】
- C#下载文件时候弹出选择文件夹保存目录的代码
- (1) 最简单的 Servlet 配置(把 class 文件放置在默认的 Webapp 文件夹下)
- 简单文件的上传与保存
- 给用户赋予文件夹的操作权限的一个简单方法