簡體   English   中英

Django文件系統存儲大量文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM