Python中的基于文件的缓存与过期设置

2 投票
1 回答
749 浏览
提问于 2025-04-17 05:51

为了生成统计数据,我正在向一个第三方的API发送几百个XMLRPC请求。

因为我希望能快速计算出这些统计数据,以便进行进一步的操作,所以我想把API的响应结果缓存起来。

以下是API的HTTP头信息的一部分:

Content-Type: application/xml; charset=utf-8
Connection: keep-alive
ETag: "c539d317b07c640c123e287304d2c568"
P3P: CP="NOI DSP COR NID ADMa OPTa OUR NOR"
Content-Length: 4089
Cache-Control: private, max-age=0, must-revalidate

我需要:

  • 一个适用于Python 2.6的解决方案
  • 由于API的响应数据比较大,所以缓存需要写入磁盘(不能只在内存中缓存)
  • 我希望API的响应在一天后过期
  • 磁盘上的旧响应需要被删除,以避免缓存无限增长

我快要自己写一个解决方案了,因为这看起来并不复杂,但我觉得这可能是一个很常见的需求,所以可能已经有现成的解决方案了。

1 个回答

0

好吧,因为没有人提供一个好的现成模块,所以我自己写了一个。

虽然看起来不是特别好,但我觉得它能完成任务。欢迎大家给我反馈。

http://pastie.org/2842063

撰写回答