2016-08-21 6 views
2

У меня есть файл Json Мне нужно найти определенное значение (файл довольно большой), и я хочу превратить этот json в массив, поэтому делать это было бы проще и быстрее. НО, что лучший способ сохранить этот массив? поэтому мне не нужно каждый раз запускать этот json, и он будет сохранен до перезагрузки или перезагрузки службы? (JS проект узла)Лучший способ кэширования данных на узле js

+4

Похоже, вы хотите получить базу данных –

+0

Насколько велика ваш файл? – Abanoub

+0

@JosephYoung и сохранить его локально, как кеш? – Nusha

ответ

0

1) Используйте Redisрекомендуется

Плюсы:

  1. объектов доступа супер быстро.
  2. Изолированные от node процесса.
    • Не влияет на память кучи.
    • Может быть развернуто на отдельном сервере.
    • Сохранение данных при сбое приложения.
  3. Поддержка сжатия.
    • низкий объем памяти потребление.

Минусы:

  1. Вы можете столкнуться с некоторыми ограничениями, если у вас есть вложенные объекты, но обходной путь, который требует дополнительной работы для обработки.

2) использование базы данных предпочтительнымMongoDB,

За:

  1. Save/Load объекты легко, так как MongoDB поддерживает JSON.
  2. То же самое, как количество из Redis профи

Cons:

  1. Вы должны запрашивать каждый раз, чтобы получить доступ к объектам.

3) Используйте Filesне рекомендуется, когда ваше приложение start/restart, загрузите ваши объекты образуют файл в глобальный массив, и когда close/shutdown приложение сбрасывать свои объекты из глобального массива обратно в файл.

Плюсы:

  1. объектов быстрого доступа.

Минусы:

  1. Heap утечки памяти, если ваши объекты размер огромны.
  2. Потеря данных, если ваше приложение разбилось.

В конце концов, это ваш выбор, если вопросы скорости выбрать Redis, если вы хотите простой способ выбрать mongoDB. Если это не проблема потери некоторых ваших данных, перейдите на Files. Также вы можете перемешать между номером и .