我在哪里可以在龙卷风请求处理程序中缓存 pandas 数据帧

Where can i cache pandas dataframe in tornado requesthandler

我想将 pandas 数据帧缓存到 tornado 请求处理程序中。所以我不想为特定 url.

的每次点击重复 pd.read_csv()

由于每次调用都会实例化一个新的 RequestHandler,任何应该在调用之间保留的数据都需要存储在某个地方,而 CSV 是一种很好的形式。或者,您可以使用 Python caching methods.

中的任何一个

取决于您希望将来能够访问此缓存的方式和位置,以及您希望如何处理失效。如果 CSV 文件没有改变,那么这可以像 @functools.lru_cache 或全局字典一样简单。如果您需要在多个进程之间共享一个缓存,那么您可以使用诸如 memcached 或 redis 之类的东西,但是根据您使用的格式,您仍然会有一些解析开销。无论如何,这并没有什么特定于 Tornado 的。