Python Twisted - 如何在非rpy脚本中使用cache()

时间:2017-06-12 17:39:44

标签: python twisted

我仍然对Python有点新手,并且已经开始学习使用Twisted框架,以便我可以设置异步Web服务器。有关在Session对象中存储有状态信息的详细信息非常简单,但是文档中缺少一些让我失望的东西。 this教程脚本中的第一行是:

cache()
...rest of the script goes here

这只适用于所谓的rpy脚本 - 更多关于here的内容。问题是,我真的不想使用rpy脚本,据称这不是必需的。我引用的页面描述了rpy脚本主要用于尝试新想法而不是很多。

我的问题是,当我尝试运行我的脚本的非rpy版本时,我收到此错误:

NameError: name 'cache' is not defined

一些额外的研究告诉我,cache()是每个rpy脚本的全局变量的一部分,因此不需要导入。但是,文档没有描述如何在非rpy文件中使用cache()。所以,有我的问题 - 如何在非rpy文件中使用cache()?我很确定这只是知道要导入哪个模块的问题,我不知道。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

显然,如果您没有使用rpy文件,则根本不需要使用cache()。我只是从代码中删除了该行,它似乎工作正常。关于此的任何其他输入仍然受到赞赏,因为缺少文档。

答案 1 :(得分:0)

Twisted Web处理rpy脚本的一个显着特点是每次请求都会重新评估源代码。

cache是一个专门用于rpy脚本的API,用于告诉运行时而不是再次重新评估源。如果调用cache,则会保存评估源的结果并用于满足该资源的下一个请求。

由于此功能对于rpy脚本的处理是唯一的,因此在以不同方式为Twisted Web定义资源时使用cache没有必要或有价值。