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

Python Twisted - How to use cache() in a non-rpy script

我对 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() ?我很确定这只是知道要导入哪个模块的问题,而我不知道。任何帮助将不胜感激。

显然,如果您不使用 rpy 文件,则根本不需要使用 cache()。我只是从代码中删除了该行,它似乎工作正常。任何额外的意见仍然感谢,因为缺少文档。

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

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

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