请考虑以下代码:
import requests
import requests_cache
requests_cache.install_cache(expire_after=7200)
url = 'http://www.example.com'
with requests.Session() as sess:
response = sess.get(url)
print response.text
当我第一次运行此代码时,我确信GET
请求已发送到www.example.com
,因为尚未设置缓存。然后,我将在工作目录中看到一个名为cache.sqlite
的文件,其中包含缓存在其中的请求。
requests_cache.install_cache
还做了什么?除了“安装”缓存之外,它还告诉当前的Python会话“嘿,现在有一个缓存存在,您可能希望在发送新的requests
之前查看它。”
所以,我的问题是,我的脚本流程的新实例是否尊重现有的cache.sqlite
,还是从头开始创建一个全新的实例?
如果没有,我如何确保在发送新requests
之前先查找现有缓存,还要考虑缓存请求的年龄?