Вопрос

У меня есть объект, содержащий данные, относящиеся к пользовательскому интерфейсу.На данный момент данные поступают в виде json, я запускаю JSON.parse, чтобы оценить объект и соответственно сгенерировать некоторый HTML.

Я подумываю сохранить строку json в локальном хранилище сеанса (а не в локальном хранилище) и вызывать ее каждый раз, когда пользовательский интерфейс необходимо обновить с помощью нового HTML.Таким образом, если пользователь откроет другую страницу в том же браузере, весь HTML-код всех страниц будет одинаковым.

На данный момент объект хранится в памяти, и взаимодействие между действиями пользователя в пользовательском интерфейсе и модификациями объекта происходит быстро.Если я сериализую его и сохраню в хранилище сеанса, будут ли браузеры сохранять данные в ОЗУ или на жестком диске и замедлять работу страницы?

Это было полезно?

Решение

Взято из спецификации html5:

<цитата>

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

Это означает, что браузеры могут сохранять эту информацию на диск.

Производительность зависит от конкретного браузера и конкретной ОС.Однако получение этой информации вряд ли станет узким местом.

Другие советы

Я сделал этот небольшой тест FF 32, Chrome 37, IE 11. Просто для удовольствия.

родовое слово

FF

  • сеанс: 830 мс
  • mem: 92 мс
  • локально: 1156 мс

Chrome

  • сеанс: 2852 мс
  • mem: 147 мс
  • локально: 2893 мс

IE

  • сеанс: 977 мс
  • mem: 81 мс
  • локально: 15062 мс

После завершения теста окно браузера зависло на несколько секунд, а активность ЦП и диска увеличилась (из-за localStorage).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top