Добейтесь хорошего пейджинга с помощью objectify - PullRequest
1 голос
/ 15 марта 2012

Я использую курсоры objectify для достижения базового пейджинга, в основном создавая кнопку more. Как лучше всего добиться пейджинга, используя objectify для построения ссылок, которые позволяют пользователям двигаться вперед и назад. Что-то более похожее на список страниц ..

1, 2, 3, 4, more

Ответы [ 2 ]

2 голосов
/ 16 марта 2012

Лучше всего вам выбрать ключи для всего набора результатов и спрятать их в сеансе или в javascript.Каждый следующий / предыдущий может загрузить следующий элемент в вашем списке по идентификатору.Загрузка по идентификатору очень дешево.Вы можете кэшировать полные результаты запроса в memcache, если он не слишком велик, но это будет зависеть от того, какие объекты вы выбираете.

0 голосов
/ 16 марта 2012

Вы можете использовать курсоры для создания пейджинга на одну страницу вперед и назад, через FetchOptions.startCursor(..) и FetchOptions.endCursor(..)

Чтобы создать больше прямых пейджинговых ссылок, выпридется использовать FetchOptions.limit(..) и FetchOptions.offset(..).

Обратите внимание, что offset(..) может быть очень дорогостоящим, так как он выбирает все объекты, которые предшествуют данной странице.Таким образом, в зависимости от использования и размера всего набора, вам может быть выгоднее предварительно загрузить и кэшировать набор ключей.Или лучше заменить подкачку поиском.

...