0

我正在寻找适合保存(和缓存)由请求 URL 键入的 HTTP 响应(内容、HTTP 标头、时间戳)的 python 中的键/值存储。该应用程序是一个网络抓取引擎,定期查询多个站点。然后一组例程分析抓取的数据。

到目前为止,我调查的选项包括:

  • python shelve 模块(速度快但不能分发数据,只能单进程写入)

  • mongodb(相对较快,到目前为止最适合我正在寻找的东西)

  • couchdb(对于这个应用程序来说太慢了)

  • memcached(不适合,因为store不是持久化的,缓存的数据不能复制,有错请指正)

使用真实抓取数据的一些性能结果:

python shelve:           3500 reads/second
couchdb (couchdbkit):      33 reads/second
mongodb (pymongo):       2300 reads/second
redis:                   1200 reads/second                   
4

1 回答 1

0

我最终在 mongodb 中使用了一个上限集合。每个条目都包含 url(主键)、内容和标题。由于上限集合不允许删除,因此内容设置为 Null 以指示缓存条目已被删除。

于 2012-05-03T11:53:22.737 回答