![](/img/trans.png)
[英]django python cumulus - How to deal with uploading a large number of files to cloud file storage
[英]Django filesystem storage for large number of files
場景:Django應用程序生成許多與不同模型中的對象相關的小文件。
在使用默認的Filestorage時,我已經做了很多搜索,以避免在單個目錄中生成大量文件。
django-fsfield是唯一的開源解決方案嗎? 還有其他什么可以推薦用於修復dir中的大量inode?
謝謝!
考慮將內容存儲在MongoDB集合中。
由於文件很小,您可以使用包含文件內容的單個二進制字段創建MongoDB文檔。 “小”在這種情況下意味着小於MongoDB文檔大小限制,目前為16MB。
如果你需要存儲大文件,Mongo支持使用gridfs 。
另請參見何時使用GridFS 。
我正在使用django-castor 。
django-castor是Django的一個可重用的應用程序,它提供了一個內容可尋址的存儲后端 。 主類
djcastor.storage.CAStorage
是一種FileSystemStorage
,它將文件保存在SHA-1摘要下。
無論上傳同一文件多少次,它都只會被存儲一次,從而消除了冗余。
文件名是偽隨機的,僅由十六進制字符組成,因此您不必擔心文件名沖突或清理。
django-castor
根據摘要在uploads目錄django-castor
片文件; 當單個目錄中有太多文件時,這可以防止文件系統問題。
也可以使用自定義存儲管理器,如果文件很小,請將其保存在帶二進制字段的數據庫模型中,並保存更多16MB的小文件,不需要使用其他數據庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.