我正在使用go创建一个命令行实用程序,它将向特定服务器请求数据,并在JSON响应中从服务器获取数据。实用工具可以对多个产品执行多个请求。我能够做多个请求,并以JSON格式正确地获得每个产品的响应。现在,我希望将结果保存在本地缓存或本地文件中。每次请求时,我都会在向服务器发送请求之前检查本地缓存。如果产品数据可用,则不会发送任何请求。
我希望将整个json响应保存在缓存或本地文件中,并在每次向服务器请求数据之前保留这些数据。
使用案例: Products {"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}}]
如果测试失败,它会得到两个产品的结果,它应该保存两个产品的响应,如果我们重新运行测试,它只会得到第三个产品的结果。
发布于 2016-06-24 18:53:50
有一堆Go库可以透明地进行HTTP缓存。
选择一个你最喜欢的,并更好地满足你的需求,在他们的自述文件中都有示例,可以让你真正快速入门。
如果由于某种原因你不能或不想使用第三方库,请查看使用httputil.DumpResponse和http.ReadResponse的answer https://stackoverflow.com/a/32885209/322221,这两个库都是Go的标准库,answerer也提供了一个可以作为您工作基础的示例实现。
发布于 2016-06-24 18:52:33
作为替代,您可以使用Redis来存储数据,here您可以找到Go的驱动程序
https://stackoverflow.com/questions/38011288
复制相似问题