我想知道存储JSON / XML响应的最佳方法是什么。我目前正在构建一个支持SoundCloud API的应用程序来获取歌曲/播放列表等。
以下是我提出的一些想法。
任何人都可以关注使用这些方法的一些优点/缺点吗?
您更喜欢哪一个?
答案 0 :(得分:1)
如果你有一个可靠的架构,你不会认为它会改变,你可能想要使用关系数据库。您将需要解析json并使用JSON响应创建对象,并使用您的框架将其保存到数据库中。
如果您认为您的架构将更改使用NoSQL。
这还取决于您将如何处理这些数据。你打算在JSON中搜索节点吗? 您还可以对mongo映射执行对象,您可以解析JSON并将其存储为对象,也可以按原样存储JSON。
关于NOSQL的好处是它们很好地支持JSON,他们使用BSON(二进制JSON)。
就缓存,IME而言,它应仅用于查找,实际上,您无法搜索缓存。它只是为了让对象更快,而不是去数据库并获得它。
看看这个:
http://www.mongodb.org/display/DOCS/Inserting#Inserting-JSON
答案 1 :(得分:1)
如果您可以容忍在Google的AppEngine上托管您的音乐和播放列表数据,那么Ubud-db可以为您提供帮助:https://bitbucket.org/f94os/ubud-db/wiki
Ubud-db是AppEngine上的文档存储,带有REST-JSON API。 Spring / Jackson从JSON映射到Map,然后是Ubud从Map到Entity的服务映射,由数据存储区持久化。
REST-JSON API可以轻松地使用AJAX与网站集成,以访问和显示动态数据。
答案 2 :(得分:0)
如果我需要保留数据的时间比缓存提供者长,我会将它们按原样存储在数据库中,然后当我从数据库中检索它们时,只需json_decode它们。如果它只是临时存储,缓存是一个好主意,仍然将其编码为json以减小大小。