Чтение, запись и хранение JSON с узлом на Heroku

Я создаю приложение на основе Node.js, работающего на Heroku.

Приложение использует JSON файл, который в настоящий момент загружается с остальной частью приложения, и мы читаем и записываем его так:

var channelsList = require("./JSON/channels.json");

...

fs.writeFile("JSON/channels.json", JSON.stringify(channelsList), onCleaned);

На данный момент это работает для прототипа, но я знаю, что нам нужно использовать хранилище данных, или изменения не будут сохраняться, когда Dyno будет спящим или я буду нажимать изменения.

Я читал, что создание БД с помощью Mongolabs может быть хорошим вариантом, но мне было интересно, есть ли другие варианты, так как это кажется более сложным, чем необходимо. Это новая территория для меня, поэтому, если Монго - это путь, то также будут оценены указатели.

Мы также хотим писать новые файлы в качестве резервных копий для каждого дня недели.

Приветствия.

Ответ 1

Раскрытие информации: Я являюсь владельцем платформы node.js в Heroku.

Вам нужно будет вывести государство из вашей заявки. Для замены файлов JSON в приложении узла вы должны посмотреть mongo, s3 и redis:

  • mongo: многофункциональный и достаточно быстрый
  • s3: абстракция, которая лучше всего подходит для хранения файловой системы (соблюдайте разрешения)
  • redis: простой и быстрый

Лично я предпочитаю redis для простых случаев использования (это звучит так, как ваш может квалифицироваться). Вы можете просто сбросить JSON и разобрать его. В качестве альтернативы, самый популярный клиент redis для узла обеспечивает дружественный интерфейс для простых хэшей:

https://github.com/mranney/node_redis#friendlier-hash-commands

Redis, mongo, s3: