python 提高文件查询效率_Python 大量小文件存储提高效率的简单示例
這篇文章主要為大家詳細(xì)介紹了Python 大量小文件存儲(chǔ)提高效率的簡(jiǎn)單示例,具有一定的參考價(jià)值,可以用來(lái)參考一下。
對(duì)python這個(gè)高級(jí)語(yǔ)言感興趣的小伙伴,下面一起跟隨512筆記的小編兩巴掌來(lái)看看吧!
在WEB開(kāi)發(fā)中經(jīng)常會(huì)遇到寫(xiě)文件的情況,最常見(jiàn)的莫過(guò)于保存圖片文件。如果是文件數(shù)量不多,那我們完全沒(méi)有必要擔(dān)心其效率問(wèn)題。但是當(dāng)你有大量的用戶,大量的圖片的時(shí)候,我們?cè)趺创鎯?chǔ)圖片文件,就會(huì)直接影響整個(gè)圖片存儲(chǔ)系統(tǒng)的效率。
通常,有一種說(shuō)法是:如1個(gè)目錄下有10000個(gè)子文件,那么讀取某個(gè)文件的速度將會(huì)明顯下降。那這種說(shuō)法到底正確不正確呢?下面我們來(lái)看一下:
問(wèn):為什么單目錄下子文件過(guò)多會(huì)影響性能?如1個(gè)目錄下有10000個(gè)子文件,那么讀取某個(gè)文件的速度將會(huì)明顯慢下來(lái)?這和文件索引有關(guān)嗎?索引中如何組織這些節(jié)點(diǎn)?
答:是的,與索引有關(guān)。1w個(gè)不算多。上百萬(wàn)個(gè)就看出來(lái)了。但是建議不要超過(guò)10000個(gè)。
問(wèn):上百萬(wàn)個(gè)慢是文件系統(tǒng)整體吧,那么和當(dāng)前目錄怎么關(guān)系上呢?一個(gè)差不多的文件系統(tǒng)支持幾百萬(wàn)個(gè)文件不算什么
答:我是說(shuō)一個(gè)目錄下,不分子目錄,直接放他幾十萬(wàn)上百萬(wàn)的文件,此時(shí)檢索這個(gè)目錄索引很費(fèi)資源。
支持?jǐn)?shù)量有限是因?yàn)槟夸涍@個(gè)對(duì)象本身容納的大小有被限制,目錄就是一個(gè)容納文件名和文件對(duì)應(yīng)inode號(hào)的容器,被限制了,那么容納的條目也就被限制了。
讀取某個(gè)文件速度沒(méi)影響。但是查找就費(fèi)勁了。某些文件系統(tǒng)的索引機(jī)制不完善,甚至沒(méi)有什么優(yōu)化算法,致使每次查找耗費(fèi)更多的時(shí)間。
從上面的問(wèn)答我們可以知道,“如1個(gè)目錄下有10000個(gè)子文件,那么讀取某個(gè)文件的速度將會(huì)明顯下降。”的說(shuō)法是對(duì)的。那如何分目錄呢?
其實(shí)也比較簡(jiǎn)單,可以按月份分,hash分,時(shí)間加hash組合分,至于用哪種方法,那就要看你的項(xiàng)目需求了。。。
注:關(guān)于Python 大量小文件存儲(chǔ)提高效率的簡(jiǎn)單示例的內(nèi)容就先介紹到這里,更多相關(guān)文章的可以留意512筆記的其他信息。
關(guān)鍵詞:文件存儲(chǔ)
您可能感興趣的文章
總結(jié)
以上是生活随笔為你收集整理的python 提高文件查询效率_Python 大量小文件存储提高效率的简单示例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python元组的概念_python元组
- 下一篇: 分页缓冲池占用很高怎么解决_聊点深的:解