我正在寻找适合保存(和缓存)由请求 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