我正在寻找一种在我的应用程序中缓存尽可能多数据的方法。这些数据中的大部分都是对以下步骤至关重要的项目,例如朋友列表。根据选择的朋友,我会显示一个包含某些项目的列表,并且可以向这个朋友发送一些东西。
我想缓存好友列表。这样,不可能向不存在的朋友发送东西,这显然会导致错误。或者也许缓存可以工作,以便它显示“无效的缓存朋友”消息并在它之后刷新......?
好友列表不会经常更改,但在用户使用应用程序时仍然可以更改。
我还想缓存可以发送给用户的项目。这些也不会经常更改,但用户不发送不存在的项目非常重要,如果他们在服务器端更新,他们当然希望他们看到最新的项目。
例如,这与缓存可以购买的物品的原理相同。用户不要尝试使用无效项目完成交易,这一点至关重要。
我已经做了一些研究,但到目前为止只能提出一个粗略的想法:
使用哈希或时间戳比较数据:在这种情况下,我不知道在什么时候做呢?加载屏幕可能没有任何意义,因为无论如何用户都必须等待服务器的响应。也许是后台进程?但我多久运行一次?如何同步?
此外,我可以添加一个更新菜单项,以便用户可以确保数据已更新。但这仍然没有解决用户可以尝试使用无效数据完成交易的问题(如果他们不按下按钮)。
我还发现了一些关于“实时数据”和 AVI 的信息,但我认为这不适用于我的情况,我的数据很少会改变,但要求它是有效的,因为它不仅是信息数据,而且是交易决定数据。
有什么办法来处理这个?