2015-03-23 3 views
0

Кто-нибудь знает, существуют ли какие-либо ограничения кеша в BreezeJS в менеджере сохранения на стороне клиента? Мы выбираем, как мы атакуем отключенный сценарий, в зависимости от того, сколько данных мы можем вывести из сервера клиенту, прежде чем ударить по ним. Нам не нужно выводить всю базу данных, но пользователю с большим набором данных может потребоваться вытащить значительный набор данных.Breeze JS Cache Limits?

Также существуют различные ограничения с различными браузерами?

ответ

0

Нет реального предела памяти, просто объем памяти на вашем компьютере. Тем не менее, в зависимости от скорости вашей машины, другие ограничивающие факторы включают в себя:

  • Время, необходимое для запроса к локальному кешу. Локальные запросы требуют итерации над коллекциями в локальной памяти. Обычно это очень быстро, но если у вас огромные коллекции, скорость может стать проблемой. Это будет очень зависеть от размера коллекции и скорости вашей машины.
  • Время загрузки кеша с сервера или путем импорта из локальной файловой системы может стать очень трудоемким с очень большим кешем.
  • Если вы используете библиотеку моделей (вместо библиотеки моделей backingStore), потребление памяти намного выше для любого заданного набора объектов. Это просто артефакт в том, что нокаут свойства работают.

Для всех этих целей лучше всего попробовать и посмотреть.

+0

Привет, Джей, спасибо за ответ. Так что, действительно, я мог бы забрать, например, всю базу данных 3 ГБ и сохранить ее в Breeze Persistence Manager и отключиться? Также будет ли это настойчивым в том, что если браузер закрыт и снова откроется, его не сдуют? – Matt

+0

Чтобы сохранить его, вам нужно вызвать EntityManager.exportEntities, а затем повторно импортировать его позже с EntityManager.importEntities. Оба этих вызова могут быть медленными с множеством сущностей, поэтому я бы сначала проверял. 3GB - это много локальных данных. –

+0

Привет, Джей, Когда вы вызываете exportEntities, в каком хранилище он хранится? Я просто получаю спорадические результаты при хранении большого количества данных до браузера (т. Е. Я могу хранить так много мб в хроме, но то же самое не летает в Internet Explorer или сафари на ipad). – Matt