以下是一个示例代码,展示了如何避免对同一文档发出两次请求:
import requests
# 创建一个字典来存储已经请求过的文档的URL和响应内容
cached_documents = {}
def get_document(url):
# 检查缓存中是否已经存在该文档的响应内容
if url in cached_documents:
print("从缓存中获取文档:", url)
return cached_documents[url]
# 发出请求获取文档的响应内容
response = requests.get(url)
# 将文档的URL和响应内容存储到缓存中
cached_documents[url] = response.text
return response.text
# 示例使用
print(get_document("https://example.com"))
print(get_document("https://example.com"))
在这个示例中,我们创建了一个名为cached_documents
的字典,用于存储已经请求过的文档的URL和响应内容。在get_document
函数中,我们首先检查缓存中是否已经存在了该文档的响应内容。如果存在,我们直接从缓存中获取并返回响应内容。如果不存在,我们发出请求获取文档的响应内容,并将URL和响应内容存储到缓存中,以便下次可以直接从缓存中获取。
这样,如果同一个文档的URL被传递给get_document
函数两次,第二次调用将直接从缓存中获取响应内容,而不会再次发出请求。