我正在使用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