请求库的持久缓存
requests-cache-latest的Python项目详细描述
用法示例
只需写:
importrequestsimportrequests_cacherequests_cache.install_cache('demo_cache')
所有带有标题和cookie的响应都将透明地缓存到 demo_cache.sqlite数据库。例如,下面的代码只需要 1-2秒而不是10秒,并将在下次启动时立即运行:
foriinrange(10):requests.get('http://httpbin.org/delay/1')
当您使用 更改解析逻辑或数据格式,并且不希望重新下载页或 编写复杂的错误处理和持久性。
链接
- 文档位于readthedocs.org
- 源代码和问题跟踪位于GitHub。
- 工作示例位于Real Python。
历史记录
0.4.12(2016-02-12)
- 增加版本以满足PYPI
0.4.11(2016-02-12)
- 强制删除过期条目的能力
0.4.10(2015-04-28)
- sqlite 50中更好的事务处理,这要感谢@rgant
- 与流式处理请求的兼容性>;=2.6.x
0.4.9(2015-01-17)
- expire_after现在也接受timedelta,这要感谢@femtotrader
- 增加了在缓存键中包含头的功能(include_get_headers选项)
- 为CachedSession 添加了字符串表示
0.4.8(2014-12-13)
- 修复读取缓存流响应时的错误
0.4.7(2014-12-06)
- 修复与请求的兼容性>;2.4.1(json arg,响应历史)
0.4.6(2014-10-13)
- Monkey补丁现在使用类代替lambda(与rauth兼容)
- 规范化(排序)作为内置dict传递的参数
0.4.5(2014-08-22)
- requests==2.3.0兼容性,感谢@gwillem
0.4.4(2013-10-31)
- 在install_cache()中检查后端可用性,而不是在第一次请求时检查
- 如果sqlite不可用,则默认存储回退到内存
0.4.3(2013-09-12)
- 修复挂钩中未设置的response.from_cache。
0.4.2(2013-08-25)
- 修复gzip响应的UnpickleableError。
0.4.1(2013-08-19)
- requests_cache.enabled()上下文管理器
- 与请求1.2.3 Cookie处理的兼容性
0.4.0(2013-04-25)
- redis后端。感谢@michaelbeaumont
- 修复请求1.2.0中的更改挂钩调度
0.3.0(2013-02-24)
- 支持Requests1.x.x
- CachedSession
- 许多向后不兼容的更改
0.2.1(2013-01-13)
- 修复损坏的pypi包
0.2.0(2013-01-12)
- Requests0.14.2的最后一个向后兼容版本
0.1.3(2012-05-04)
- 默认sqlite后端的线程安全性
- 配置缓存时考虑post参数 在allowable_methods 中使用“post”
0.1.2(2012-05-02)
- 减少sqlite数据库写入操作的数量
- fast_save选项用于sqlite后端
0.1.1(2012-04-11)
- 修复:从response.histo恢复响应ry
- 内部重构(MemoryCache->;BaseCache,reduce_response 以及restore_response移动到BaseCache)
- connection选项用于MongoCache
0.1.0(2012-04-10)
- 初始PYPI版本