0

将构建一个应用程序,该应用程序将从 Web 服务中提取 JSON 对象,数以百计,每个相对较小,每个 20kb。

除了显示这些 POJO、下载新的和更新的 POJO 以及删除过时的 POJO 之外,该应用程序不会做太多其他事情。持久存储这些对象的首选方法是什么?我猜这两个主要竞争者将它们存储在 SQLite DB 中,可能使用 ORMLite 来减少开销,或者只是将对象序列化到磁盘,可能在一个大文件中并使用非常快速的 JSON 解析器。

任何想法什么是首选方法?

4

2 回答 2

1

像 SQLLite 这样的 dbms 应该具有查询、索引和排序功能(以及其他标准 SQL DBMS 功能),您应该考虑是否需要这些功能。您计划在生产环境中拥有多少个对象?如果说百万磁盘序列化方法可能无法扩展。

于 2013-03-13T21:51:10.690 回答
1

您可以考虑使用 CouchDB 作为移动客户端和 Web 服务之间的缓存。

CouchDB 必须在 Internet 上的服务上运行,缓存来自 Web 服务的对象。在客户端上,您可以使用 TouchDB-Android:https ://github.com/couchbaselabs/TouchDB-iOS/wiki/Why-TouchDB%3F 。TouchDB-Android 可以与运行在 Internet 上的 CouchDB 实例自动同步。然后应用程序本身将单独访问 TouchDB。TouchDB 会自动检测是否有互联网连接,因此您的应用程序即使在没有互联网的情况下也能继续运行。

优点: - 缓存 JSON 调用 - 客户端在 Internet 连接断开时仍然工作,当 Internet 连接再次启动时自动同步。- 负载您的网络服务,并且您可以扩展。

我们之前使用此设置来允许 Android 软件无缝运行,即使在互联网连接频繁断开并且我们从中访问数据的服务非常缓慢且容量有限的情况下也是如此。

于 2013-03-13T22:42:30.423 回答