缓存朋友/项目列表

时间:2012-09-23 08:32:32

标签: android caching

我正在寻找一种在我的应用中尽可能多地缓存数据的方法。大多数此类数据都是对以下步骤至关重要的项目,例如朋友列表。根据所选的朋友,我会显示包含某些项目的列表,并可以向该朋友发送内容。

我想缓存朋友列表。以这种方式,不可能向不存在的朋友发送内容,这显然会导致错误。或者也许缓存可以工作,以便它显示“无效的缓存朋友”消息并在其后刷新...?

朋友列表不会经常更改,但在用户使用应用程序时仍可以更改。

我还想缓存可以发送给用户的项目。这些也不会经常变化,但是用户不发送不存在的项目非常重要,当然,如果它们在服务器端更新,他们当然希望看到最新的项目。

例如,它与缓存可以购买的项目的原理相同。用户不要尝试使用无效项目完成交易,这一点至关重要。

我已经做过一些研究,但到目前为止只能提出一个粗略的想法:

使用哈希或时间戳比较数据:在这种情况下,我不知道在哪个位置执行此操作?加载屏幕可能没有任何意义,因为用户无论如何都必须等待服务器的响应。也许是后台流程?但是我经常运行它?我该如何同步?

此外,我可以添加更新菜单项,以便用户可以确保更新数据。但它仍然无法解决用户可以尝试使用无效数据完成交易的问题(如果他们没有按下按钮)。

我还发现了一些关于“实时数据”和AVI的信息,但我认为这不适用于我的情况,我的数据很少会改变,但要求它是有效的,因为它不仅是信息数据,而是交易决定数据

处理此问题的方法是什么?

1 个答案:

答案 0 :(得分:0)

我认为你是对的,你应该检查数据源(服务器)的时间戳。

如果这是朋友之间的点对点交换,就在发送数据之前,请从服务器请求其时间戳。没有那么多数据,通常接近实时。但是仍有一些发送过时数据的可能性很小 - 更新后只有“一纳秒”。

如果是通过服务器(以及为什么不是?),作为奖励,您将通过检查服务器上的时间戳并在发送的数据已过时取消事务来获得乐观锁定。