Вход

Просмотр полной версии : Статические данные на клиенте


javac
29.04.2015, 11:13
Добрый день
Суть вопроса такова
Есть много параметров статических хранящихся на сервере
К примеру на сервере есть такой массив
[id,Object]
Где id максимум 20, а object хранит 5-7 integer данных(или даже листы и map)
Так вот пользователь хочет выполнить некое действие, но для этого ему нужно знать данные Object под id==15, он запрашивает это, и затем уже отправляет запрос на выполнение основного действия

Вот можно ли как-то на клиенте хранить эти данные, чтоб не гонять запрос на сервер?
Думаю тем самым сократить трафик и не нужную нагрузку на сервер
Первый вопрос: если можно то как?
Второй вопрос: какой средний объем и кол-во объектов можно так хранить, чтоб клиента не повесить, и стоит ли это

ksa
30.04.2015, 08:55
можно ли как-то на клиенте хранить эти данные, чтоб не гонять запрос на сервер?
Все гет-запросы кешируются, т.е. единожды запросив у сервера больше запросов не будет, пока жив кеш.
какой средний объем и кол-во объектов можно так хранить
Куки ограничены 4КБ. Локальное хранилище ограничено 5МБ.
http://htmlbook.ru/html5/storage

javac
30.04.2015, 10:38
Все гет-запросы кешируются, т.е. единожды запросив у сервера больше запросов не будет, пока жив кеш.
Я наблюдаю другую ситуацию, каждый раз в рамках одной сессии запрос летит на сервер

javac
30.04.2015, 11:01
и что значит кешируются, хотите сказать, если данные на сервере поменялись в это время, то клиент будет все равно из кеша брать "старые данные"? понимаю там рисунки и т.д., но не данные же

ksa
30.04.2015, 11:01
каждый раз в рамках одной сессии запрос летит на сервер
Я ведь не вкурсе как ты делаешь те запросы... :)

Но теория гласит:
- Если в запросе ГЕТ, УРЛ совпадает с уже отосланным - ответ берется из кеша.

ksa
30.04.2015, 11:01
хотите сказать, если данные на сервере поменялись в это время, то клиент будет все равно из кеша брать "старые данные"?
Да. Именно так... :yes:

ksa
30.04.2015, 11:02
понимаю там рисунки и т.д., но не данные же
Повиг, что там у тебя на сервере. Если тип запроса ГЕТ, УРЛ такой же - возьмет из кеша... :)

javac
30.04.2015, 11:07
Я ведь не вкурсе как ты делаешь те запросы...
Да, на добыло это сказать
Запросы я делаю ajax-ом

Повиг, что там у тебя на сервере. Если тип запроса ГЕТ, УРЛ такой же - возьмет из кеша...
Странно это, понимаю кеширование на сервере, этим можно управлять, но на клиенте, хм.

javac
30.04.2015, 11:09
И всеравно не понимаю, возьмем к примеру GET запрос с парметром id=2,
сервер к примеру ворачивает Random integer на этот запрос, и что клиент будет всегда видеть, первое число которое получилось из рандома на самый первый запрос?

Safort
30.04.2015, 18:05
javac,
нет, зависит от задачи. Если у тебя на одинаковые запросы возвращаются разные данные, то кэшировать не нужно. Но, обычно, это не так уж и часто бывает.

javac
01.05.2015, 08:29
Если у тебя на одинаковые запросы возвращаются разные данные,
Вот это другое дело.

А может использовать к примеру sqlite на клиенте, хранящий нужные данные(зеркало серверной части), и уже от туда тянуть?
Или это выигрыш не даст

ksa
05.05.2015, 13:50
И всеравно не понимаю, возьмем к примеру GET запрос с парметром id=2,
сервер к примеру ворачивает Random integer на этот запрос, и что клиент будет всегда видеть, первое число которое получилось из рандома на самый первый запрос?
Да. Будет видеть первое число.