我正在使用go创建一个命令行实用程序,它将向特定服务器请求数据,并将在JSON响应中从服务器获取数据。实用程序可以对多个产品执行多个请求。 我能够以JSON格式正确地执行多个请求并获得每个产品的响应。 现在,我想在缓存或本地文件中本地保存结果。在每个请求中,我将在向服务器发送请求之前检查本地缓存。如果该产品的数据可用,则不会发送任何请求。
我希望将整个json响应保存在缓存或本地文件中,并在每次向服务器请求数据之前保留该数据。
用例: 产品{" A"," B"," C"," D"," E"}它可能是任意数量的产品 测试1:获取A,B,C的数据 检查本地存储是否有数据可用或请求。 保存每个产品的json请求。
因此对于测试1,它将具有如下条目: [{test 1:[{product a:json response},{product b:json response},{product c:json response}]}]
如果测试失败并且两个产品得到结果,它应该保存2个产品的响应,如果我们重新测试它将只得到第3个产品的结果。
答案 0 :(得分:1)
有一堆Go库可以透明地进行HTTP缓存。
选择您最喜欢的那个并更好地满足您的需求,两者都有自己的README示例,以便您快速入门。
如果由于某种原因你不能或不想使用第三方库,请查看使用https://stackoverflow.com/a/32885209/322221和httputil.DumpResponse的答案http.ReadResponse,这两个都在Go的标准库中回答者还提供了一个可以基于您的工作的示例实现。
答案 1 :(得分:0)