python变量区变量保存与加载_python – Flask:使用全局变量将数据文件加载到内存中...
我有一個大的
XML文件,它被打開,加載到內存中,然后由
Python類關閉.簡化示例如下所示:
class Dictionary():
def __init__(self,filename):
f = open(filename)
self.contents = f.readlines()
f.close()
def getDefinitionForWord(self,word):
# returns a word,using etree parser
在我的Flask應用程序中:
from dictionary import Dictionary
dictionary = Dictionary('dictionary.xml')
print 'dictionary object created'
@app.route('/')
def home():
word = dictionary.getDefinitionForWord('help')
我理解在理想的世界中,我會使用數據庫而不是XML,并在每次請求時建立與此數據庫的新連接.
我從文檔中了解到,Flask中的應用程序上下文意味著每個請求都會導致重新創建dictionary = new Dictionary(‘dictionary.xml’),因此在磁盤上打開一個文件并將整個內容重新讀入內存.但是,當我查看調試輸出時,我看到創建的字典對象只打印了一次,盡管從多個源(不同的會話?)連接.
我的第一個問題是:
因為我的應用程序似乎只加載XML文件一次…然后我可以假設它全局駐留在內存中,并且可以通過大量的同時請求安全地讀取,僅限于我服務器上的RAM – 對?如果XML是50MB,那么大約需要.內存50MB,可以高速同步請求…我猜這并不容易.
我的第二個問題是:
如果不是這樣的話,那么我對處理大量流量的能力有什么限制?如果我重復打開50MB XML,從磁盤讀取并關閉,我可以處理多少個請求?我一次假設一個.
我意識到這是模糊的,依賴于硬件,但我是Flask,python和網絡編程的新手,只是尋找指導.
謝謝!
總結
以上是生活随笔為你收集整理的python变量区变量保存与加载_python – Flask:使用全局变量将数据文件加载到内存中...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 金小侠审核多久
- 下一篇: 新手打新需注意,了解规则总是好的