Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   А можно ли узнать количество памяти у компьютера ? (https://javascript.ru/forum/misc/43687-mozhno-li-uznat-kolichestvo-pamyati-u-kompyutera.html)

eugenk 16.12.2013 19:50

А можно ли узнать количество памяти у компьютера ?
 
Приветствую уважаемые. Собственно вопрос в названии темы...
Есть веб-страничка, на которой запущено некоторое веб-приложение, главное назначение которой - интерфейс к некоей базе данных. Пользователь может заходить в различные разделы, смотреть объекты и т.п. Чтобы уменьшить траффик и увеличить скорость отклика, я хочу кешировать хотя бы некоторые из запросов прямо в клиенте. Если кешированные записи меняются на сервере, сервер будет уведомлять клиента через COMET. Но тут встает главный и основопологающий вопрос, что кешировать и на основании чего удалять записи из кеша. А для этого надо знать, сколько памяти у нас есть вообще. Не подскажете, можно ли это вообще как-то сделать из броузерного яваскрипта ? Т.е. узнать прямо из веб-странички, сколько на компьютере установлено памяти ?

Ну и за одно тогда. Можно ли как-то узнать, сколько памяти задействует веб-страничка ? Не броузер (это просто можно посмотреть в менеджере процессов), который может довольно много занимать под какие-то свои нужды, а именно данные на страничке ? Это тоже могло бы быть для меня ценным для профайлинга.

eugenk 17.12.2013 21:37

Народ, чего, неужели никто не знает ??? Или это из броузерной песочницы сделать вообще невозможно ? Тогда расскажите, если кто-нибудь этим занимался, как вы это делали.
Итак, надо кешировать какие-то запросы к серверу. Чтобы потом, если такой запрос уже есть в кеше, показывать данные прямо из кеша, вместо обращения к серверу. Ясно, что всего закешировать нельзя и когда-то данные прийдется удалять. Когда в кеше еще лежит мало данных, можно кешировать всё подряд. Но когда их там много, прийдется что-то удалять. Граница между "мало" и "много" определяется доступной системе памятью. Чтобы узнать мало у нас данных или много, их нужно сравнить с количеством доступной памяти. Как это самое количество доступной памяти определить из яваскрипта в броузере ??? Или есть еще какой-то способ решения этой задачи ? Подскажите плииизззз !!! :D

P.S. Народ, просьба не пинать ногами, про виртуальную память и файл подкачки я в курсе. Мне нужно чтобы это работало не только на десктопах, но и на планшетах. А как там с этим - не знаю. Вполне можно нарваться и на ограничения. Потому и спрашиваю.

animhotep 18.12.2013 13:20

посмотрите в сторону local storage

eugenk 20.12.2013 05:38

Спасибо, но это немного не то, чего я хотел. Мне нужен скорее кэш на сеанс. Ну как пример. В базе данных есть таблица, где хранятся люди по фамилии имени и отчеству. Положим фамилия имя и отчество уникальны и это ключ. Пользователь хочет создать новую запись какого-то другого типа, которая включает в себя ссылку на какого-то человека. Чтобы он мог это сделать, из базы данных надо запросить пакет содержащий фамилии имена отчества всех хранимых в ней людей и сформировать из них список автокомплита для поля формы, где будет вводиться эта ссылка. Если людей в базе данных много, то это будет весьма приличная пересылка. А значит и траффик и время реагирования. Поэтому лучше такой запрос кешировать. Если другой пользователь в это время введет в базу данных нового человека, всем пользователям, у которых закеширован запрос о людях будет отправлено уведомление об изменениях. И кэш останется актуальным. Вобщем примерно так. Так что храниться это скорее всего будет в оперативной памяти в яваскрипт-объектах. С local storage я вообще немного побаиваюсь связываться, потому что штука довольно новая, а мне надо, чтобы оно работало всегда и везде. В том числе на планшетниках.


Часовой пояс GMT +3, время: 23:14.