我正在使用mod\u python在Apache中运行Trac。我正在开发一个插件,但不确定全局变量是如何存储/缓存的。
我是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")
上面的代码只是我正在做的事情的一个例子,而不是实际的代码;-)。但实际上doSomething()方法是由Trac调用的。第一次运行时,它添加了所有三个条目。现在,即使重新启动web服务器,len(globalList)命令也总是3。在
我怀疑答案可能是我的会话(以及全局变量)被缓存了,因为在web服务器重新启动后,当我刷新Trac中的页面时,Trac会记住我的登录详细信息。如果是这样的话-我如何强制清除缓存。注意,我不想手动重置globalList变量,即globalList.length = 0
有人能提供任何关于正在发生的事情的见解吗? 谢谢你
阅读mod python的常见问题解答
转到链接 http://www.modpython.org/FAQ/faqw.py?req=show&file=faq03.005.htp
所以问题是为什么要使用全局变量?在
强制性:
使用^{} 切换到wsgi。在
Don't use ^{} 。在
有Help available for configuring ^{} with trac 。在
相关问题 更多 >
编程相关推荐