我以前从未使用REST API,我想了解有关数据缓存(存储)和API调用的最佳实践的一些信息。
我想使用的API每天仅允许9000个请求,这对于我将要执行的应用程序来说相当低。
数据输出是JSON,我将使用Java / Android
答案 0 :(得分:0)
如果您不控制服务器端,那么我将手动构建缓存层。如果您拥有双方,则可以从服务器发送ETag标头以通知客户端尚未进行更改,然后像Retrofit这样的REST库将为您处理缓存。我以前在没有控制服务器端但希望缓存请求时所做的事情是有一个内存缓存(可选地由持久存储(如sqlite db)支持),它包含一个包含对象的包装对象请求的url,响应的原始字节数组数据,创建缓存条目的时间戳,以及可选的附加时间/访问信息。然后我创建一个简单的类来维护这些包装器对象的映射(由url键控),提供访问逻辑,以便根据各种超时策略使缓存失效。
如果你想要一些轻量级的东西来制作原始请求,并且你自己处理所有的解析和缓存,那么看看http-request。如果你想要一些可以让你快速上手并且能够快速处理所有事情的东西,我建议你Retrofit。