Чтение, запись и хранение 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: