А можно ли узнать количество памяти у компьютера ?
Приветствую уважаемые. Собственно вопрос в названии темы...
Есть веб-страничка, на которой запущено некоторое веб-приложение, главное назначение которой - интерфейс к некоей базе данных. Пользователь может заходить в различные разделы, смотреть объекты и т.п. Чтобы уменьшить траффик и увеличить скорость отклика, я хочу кешировать хотя бы некоторые из запросов прямо в клиенте. Если кешированные записи меняются на сервере, сервер будет уведомлять клиента через COMET. Но тут встает главный и основопологающий вопрос, что кешировать и на основании чего удалять записи из кеша. А для этого надо знать, сколько памяти у нас есть вообще. Не подскажете, можно ли это вообще как-то сделать из броузерного яваскрипта ? Т.е. узнать прямо из веб-странички, сколько на компьютере установлено памяти ? Ну и за одно тогда. Можно ли как-то узнать, сколько памяти задействует веб-страничка ? Не броузер (это просто можно посмотреть в менеджере процессов), который может довольно много занимать под какие-то свои нужды, а именно данные на страничке ? Это тоже могло бы быть для меня ценным для профайлинга. |
Народ, чего, неужели никто не знает ??? Или это из броузерной песочницы сделать вообще невозможно ? Тогда расскажите, если кто-нибудь этим занимался, как вы это делали.
Итак, надо кешировать какие-то запросы к серверу. Чтобы потом, если такой запрос уже есть в кеше, показывать данные прямо из кеша, вместо обращения к серверу. Ясно, что всего закешировать нельзя и когда-то данные прийдется удалять. Когда в кеше еще лежит мало данных, можно кешировать всё подряд. Но когда их там много, прийдется что-то удалять. Граница между "мало" и "много" определяется доступной системе памятью. Чтобы узнать мало у нас данных или много, их нужно сравнить с количеством доступной памяти. Как это самое количество доступной памяти определить из яваскрипта в броузере ??? Или есть еще какой-то способ решения этой задачи ? Подскажите плииизззз !!! :D P.S. Народ, просьба не пинать ногами, про виртуальную память и файл подкачки я в курсе. Мне нужно чтобы это работало не только на десктопах, но и на планшетах. А как там с этим - не знаю. Вполне можно нарваться и на ограничения. Потому и спрашиваю. |
посмотрите в сторону local storage
|
Спасибо, но это немного не то, чего я хотел. Мне нужен скорее кэш на сеанс. Ну как пример. В базе данных есть таблица, где хранятся люди по фамилии имени и отчеству. Положим фамилия имя и отчество уникальны и это ключ. Пользователь хочет создать новую запись какого-то другого типа, которая включает в себя ссылку на какого-то человека. Чтобы он мог это сделать, из базы данных надо запросить пакет содержащий фамилии имена отчества всех хранимых в ней людей и сформировать из них список автокомплита для поля формы, где будет вводиться эта ссылка. Если людей в базе данных много, то это будет весьма приличная пересылка. А значит и траффик и время реагирования. Поэтому лучше такой запрос кешировать. Если другой пользователь в это время введет в базу данных нового человека, всем пользователям, у которых закеширован запрос о людях будет отправлено уведомление об изменениях. И кэш останется актуальным. Вобщем примерно так. Так что храниться это скорее всего будет в оперативной памяти в яваскрипт-объектах. С local storage я вообще немного побаиваюсь связываться, потому что штука довольно новая, а мне надо, чтобы оно работало всегда и везде. В том числе на планшетниках.
|
Часовой пояс GMT +3, время: 23:14. |