Orland25565
@Orland25565
Junior Front-End (React)

Оптимизация записи на диск. Когда сохранять данные в localForage?

У меня есть SPA запущенное в Elecron которое получает с серверов ВКонтакте сообщения пользователя.
Мне нужно каким-то образом эти сообщения сохранять, я решил использовать localForage, библитека которая предоставляет функции как в localStorage только для работы с IndexedDB(setItem(key, val), getItem(key, val)) и так далее.
Я подключен к longPoll серверу обновлений, и когда в чат с определённым человеком приходит новое сообщение, мне нужно сохранить его на жёсткий диск, но проблема в том что я не могу сделать этого с конкретным сообщением, мне нужно взять все сообщения, добавить к ним новое, и потом всё это сохранить, при постоянном потоке новых сообщений это приводит к постоянным нагрузкам на жёсткий диск.
Каким образом решить эту проблему? БД решают эти проблемы, если да то какую выбрать? Или попробовать использовать node fs?
Но с node fs тоже вопрос, если мы JSON.stringify(массив сообщений) а потом записываем это в текстовый файл, то получается тоже теряем возможность добавления туда новых сообщений по одному, нужно только JSON.parse(файл) а потом объединять это всё и записывать.
Я тут в недоумении, как с этим лучше поступить. Возможно мне стоит записывать данные на диск только в определённые промежутки времени? Или мне стоит сохраняться при выходе из приложения? Тогда возникает вопрос с непредвиденным закрытием приложения.
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
но проблема в том что я не могу сделать этого с конкретным сообщением, мне нужно взять все сообщения, добавить к ним новое, и потом всё это сохранить, при постоянном потоке новых сообщений это приводит к постоянным нагрузкам на жёсткий диск.
Вот же отвтет... Сохраняйте по сообщению.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект