【发布时间】:2023-03-13 18:25:02
【问题描述】:
我以前从未使用过 REST API,我想了解有关数据缓存(存储)和 API 调用的最佳实践的一些信息。
我想使用的 API 每天只允许 9000 个请求,这对于我将要做的那种应用来说是相当低的。
数据输出是 JSON,我将在 Java / Android 中工作
【问题讨论】:
标签: java android api rest caching
我以前从未使用过 REST API,我想了解有关数据缓存(存储)和 API 调用的最佳实践的一些信息。
我想使用的 API 每天只允许 9000 个请求,这对于我将要做的那种应用来说是相当低的。
数据输出是 JSON,我将在 Java / Android 中工作
【问题讨论】:
标签: java android api rest caching
如果您无法控制服务器端,那么我将手动构建缓存层。如果您拥有双方,您可以从服务器发送一个 ETag 标头以通知客户端尚未进行更改,然后像 Retrofit 这样的 REST 库将为您处理缓存。当我无法控制服务器端但想要缓存请求时,我过去所做的是有一个内存缓存(可选地由诸如 sqlite db 之类的持久存储支持),其中包含一个包含 url 的包装器对象请求、响应的原始字节数组数据、创建缓存条目的时间戳,以及可选的附加时间/访问信息。然后,我将创建一个简单的类来维护这些包装对象的映射(由 url 键入),提供基于各种超时策略使缓存失效的逻辑的访问。
如果您想要一些轻量级的东西来发出原始请求,并且您将自己处理所有解析和缓存,请查看http-request。如果您想要一些能让您真正快速启动并运行并为您处理几乎所有事情的东西,我建议您使用Retrofit。
【讨论】: