如何用文件夾保存千萬級別用戶資料.
問題: 要保存一千萬個用戶資料 , 是不是要建立一千萬個文件夾 , 每次查找用戶資料都要遍歷一千萬個文件 ? 錯 , 通過對文件夾分類 , 達到遍歷最多遍歷3000 個文件夾就能找到用戶 , 此處涉及的內容有文件分類.
文件夾分類:
- 第一級目錄:
一個主文件夾 - 第二級目錄:
主文件夾根據MD5(用戶名)的前兩位值新建一個文件夾,由於用戶名的唯一性,MD5(用戶名)值也是唯一性,前兩位組成的字母由0-9和26個字母組成,組成的文件夾名有1296個. (當然,這些文件夾是用戶上傳資料時,代碼新建的) 第三級目錄
對第二級目錄的每個目錄下 , 再進行一次MD5(第二級目錄名用戶名)取前兩位,新建目錄.通過第三級目錄下新建以用戶名爲名字的文件夾保存用戶資料
通過文件夾分類,服務器要遍歷的一千萬個文件夾變成了最多2598個文件夾就能找到用戶 , 效率大大提高
針對4可能存在用戶名亂碼導致文件夾問題 , 通過MD5(用戶名) 爲用戶取別名 , 並用MD5(用戶名) 來代替用戶文件夾 .
以下是代碼思路: