所以我一直在想缓存数据的好方法。不仅是图像,因为如果数据没有改变,就没有必要再次获取该数据。我一直在想的事情是:
假设我在 php 中编写了一个 API,它提供 JSON 作为对通过我在 Android 和其他移动平台上的应用程序发出的请求的响应。
我有一个结构,用户可以看到某些公司的相册。结构如下:
- 公司
- 专辑(公司有很多专辑)
- 照片(相册有很多照片)
我的 API 的功能之一是,它可以显示我们数据库中所有公司的列表。该列表可能非常大。我缓存这些数据的方法是这样的:
生成一个 API_CACHE_KEY,当公司被编辑或删除时,我可以将我的 sharedprefences 中的 API_CACHE_KEY 与网络服务器中的 API_CACHE_KEY 进行比较。如果不同,我只会获取已更改的公司,因为我还可以在我的 API 中获取个别公司。此 API_CACHE_KEY 将基于经过哈希处理的时间戳。
如果 API_CACHE_KEY 和上次一样,我可以从缓存中取出数据。
这是缓存各种数据的好方法吗?或者这样做是否有点矫枉过正?我知道获取 API_CACHE_KEY 需要一个请求,但它会比我每次获取整个列表的数据少。
什么被认为是好的做法?你们还有其他智能技术来处理这种缓存吗?