我正在使用mod_python在Apache中運行Trac。我正在開發一個插件,我不確定全局變量是如何存儲/緩存的。mod_python變量緩存
我是新來的蟒蛇和GOOGLE搜索主題,發現mod_python緩存python模塊(我認爲)。但是,我希望緩存在Web服務重新啓動時被重置,但似乎不是。我說這是因爲我有一個全局變量是一個列表,我測試列表以查看值是否存在,如果不存在,我添加它。我第一次運行它時,它添加了三個條目到列表中。隨後,該列表從一開始就有三個條目。
例如:
globalList = []
class globalTest:
def addToTheList(itemToAdd):
print(len(globalTest))
if itemToAdd not in globalList:
globalList.append(itemToAdd)
def doSomething():
addToTheList("I am new entry one")
addToTheList("I am new entry two")
addToTheList("I am new entry three")
上面的代碼只是我在做什麼,而不是實際的代碼;-)一個例子。但基本上由Trac調用doSomething()方法。第一次運行時,它添加了所有三個條目。現在 - 即使重新啓動Web服務器後,LEN(globalList)命令總是3.
我懷疑答案可能是我的會話(因此全局變量)被緩存因爲Trac的是要記住我的登錄信息當我在Web服務器重新啓動後刷新Trac中的頁面時。如果是這樣的話 - 我如何強制緩存被清除。請注意,我不想手動重設globalList變量,即globalList.length = 0
任何人都可以提供有關正在發生的事情的任何見解? 謝謝
請參閱我對Anurag Uniyal的回答的評論。我不再使用全局變量,但想知道如何強制刷新緩存變量 – 2009-06-15 11:22:36