如何在golang中进行持久缓存?

roh*_*han 6 caching go

我正在使用 go 创建一个命令行实用程序,它将向特定服务器请求数据,并以 JSON 响应从服务器获取数据。实用程序可以对多个产品执行多个请求。我能够执行多个请求并以 JSON 格式正确获取每个产品的响应。现在,我想将结果保存在本地缓存或本地文件中。通过它,在每个请求上,我都会在向服务器发送请求之前检查本地缓存。如果该产品的数据可用,则不会发送任何请求。

我想将整个 json 响应保存在缓存或本地文件中,并在每次向服务器发送数据请求之前保留该数据。

用例:产品 {"A","B","C","D","E"} 可以是任意数量的产品测试 1:获取 A、B、C 的数据检查本地存储是否有可用数据或做请求。将每个产品的 json 请求保存在存储中。

因此,对于测试 1 ,它将具有如下条目: [{测试 1 : [{产品 a : json 响应} , {产品 b : json 响应} ,{产品 c : json 响应}]}]

如果测试在中间失败并且得到两个产品的结果,它应该保存 2 个产品的响应,如果我们重新运行测试,它只会得到第三个产品的结果。

Tin*_*wor -1

您可以将数据存储在 a 中Map并通过 获取它Key,您可以实现它或使用诸如go-cache之类的插件。
或者,您可以使用 Redis 来存储数据,在这里您可以找到 Go 的驱动程序