Веб-кеширование при получении списков документов - PullRequest
0 голосов
/ 19 ноября 2008

Нам необходимо использовать ресурсы на стороне клиента для списков, содержащих задачи.

Клиенту необходимо:

  • получать уведомления об обновлениях в списке
  • иметь возможность переупорядочить / отфильтровать список (запрашивая обновление с сервера с задачами, о которых клиент не знает / не имеет в кэше)

Проблема возникает при начальной загрузке или обновлении большого списка (с «назначенных мне задач» на «задачи, связанные с x»)

Самое быстрое, что нужно сделать, это вернуть все задачи в список вместо отдельных (более 10) запросов.

Но E-теги не помогут, когда я запрашиваю обновление задачи в списке, поскольку она не была загружена отдельно.

Есть ли способ заставить браузер кэшировать элементы в списке по их отдельным URL-адресам?

Или способ создания кеша javascript, который выживет после навигации?

  • Если я уйду и укажу URL-адрес задачи, выживут ли мои объекты js? Я подозреваю, что нет.
  • Если я уйду, а затем нанесу ответный удар, выживут ли мои объекты JavaScript? Я подозреваю, что да.
    • Если это так, возможно ли иметь страницу «загрузки списка задач», которая будет проверять историю и возвращаться к существующему списку задач? Я думаю, что нет - безопасность.

Я думаю, что мне просто нужно принять начальные хиты загрузки и индивидуально получить задачи, чтобы последующие запросы были быстрыми (и снимали нагрузку с сервера).

Ответы [ 2 ]

1 голос
/ 31 декабря 2008

HTML5 все еще немного далек от реализации, но вы можете использовать Google Gears для локальных нужд хранения.

Кроме того, я понятия не имею, о скольких одновременных клиентах и ​​задачах мы говорим, насколько велики задачи и какую нагрузку может оказать такой запрос на базу данных, но я думаю, что вы сможете запустить сглаживать без кеширования, 10+ запросов не так уж и много. Если трафик не является узким местом, я бы включил кэширование на сервере и оставил бы клиента «тупым».

1 голос
/ 20 ноября 2008

В HTML5 есть атрибут Window.sessionStorage , который может хранить содержимое для определенного сеанса во вкладке / окне (другие окна будут иметь свое собственное хранилище, даже при работе в том же сеансе ).

В спецификации также доступны опции localStorage и Хранилище базы данных.

...