Лучший способ сохранить ответ JSON? - PullRequest
0 голосов
/ 19 октября 2011

Мне было интересно, как лучше всего хранить ответы в формате JSON / XML.В настоящее время я создаю приложение, которое в значительной степени поддерживает API-интерфейс SoundCloud для извлечения песен / плейлистов и т. Д.

Вот некоторые идеи, которые я придумаю.

  1. Сохранение результатовв реляционной базе данных, а затем с помощью PHP преобразовать их в классы, чтобы упростить их использование в моем приложении.
  2. Выполнение вышеизложенного, только на этот раз с использованием встроенного в мою среду ORM.
  3. Использование документно-ориентированной базы данных.(т. е. MongoDB, couchDB, ...)
  4. Хранение ответов JSON в кэше.(используя классы кэша моей платформы)

Может ли кто-нибудь захотеть пролить свет на некоторые преимущества / недостатки использования любого из этих методов?

Какой из них вы предпочитаете?

Ответы [ 3 ]

1 голос
/ 08 марта 2012

Если вы можете терпеть размещение вашей музыки и списков воспроизведения в Google AppEngine, Ubud-db может быть чем-то для вас: https://bitbucket.org/f94os/ubud-db/wiki

Ubud-db - это хранилище документов в AppEngine с API-интерфейсом REST-JSON. Spring / Jackson сопоставляет JSON с картой, а затем сервисные карты Убуда с карты на сущность, сохраняемые хранилищем данных.

API REST-JSON упрощает интеграцию с веб-сайтом, использующим AJAX для доступа и отображения динамических данных.

1 голос
/ 19 октября 2011

Если у вас есть надежная схема, которая, как вы думаете, не изменится, вы можете использовать реляционную базу данных.Вам нужно будет проанализировать json и сделать объекты из ответа JSON, и, используя вашу среду, вы можете сохранить ее в базе данных.

Если вы думаете, что ваша схема изменится, используйте NoSQL.

Это такжезависит, что вы будете делать с этими данными.Собираетесь ли вы искать узлы в JSON?Вы также можете сделать отображение объекта на монго, вы можете проанализировать JSON и сохранить его как объект, или вы можете сохранить JSON таким, какой он есть.

Хорошая вещь в NOSQL заключается в том, что они довольно хорошо поддерживают JSONв котором они используют BSON (Binary JSON).

С точки зрения кэша, IME, его следует использовать только для поиска, и фактически вы не можете искать в кэше.Это просто для того, чтобы получать объекты быстрее, чем идти в базу данных и получать ее.

Взгляните на это:

http://www.mongodb.org/display/DOCS/Inserting#Inserting-JSON

0 голосов
/ 19 октября 2011

Если мне нужно хранить данные дольше, чем поставщик кеша, я буду хранить их в базе данных как есть, а затем просто json_decode их, когда получу их из БД.Если это просто временное хранилище, то кеш - отличная идея, но при этом он остается закодированным как json, чтобы уменьшить размер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...