使用客体化实现良好的分页

时间:2012-03-15 18:51:56

标签: google-app-engine objectify

我正在使用objectify游标来实现基本的分页,基本上创建了一个more按钮。如何使用objectify实现分页,以构建允许用户前进和后退的链接。更像是一个页面列表..

1, 2, 3, 4, more

2 个答案:

答案 0 :(得分:2)

您最好的选择可能是获取整个结果集的密钥并将其存储在会话或javascript中。每个下一个/上一个可以按ID加载列表中的下一个项目。按ID加载非常便宜。您可以将完整的查询结果缓存在内存缓存中,只要它不是太大,但这将取决于您要获取的对象类型。

答案 1 :(得分:0)

您可以使用游标通过FetchOptions.startCursor(..)FetchOptions.endCursor(..)

向前和向后创建一页翻页

要创建更直接的分页链接,您必须使用FetchOptions.limit(..)FetchOptions.offset(..)

请注意offset(..)可能非常昂贵,因为它会获取给定页面之前的所有实体。因此,根据整个集合的使用情况和大小,通过预加载和缓存一组密钥可能会更好。或者更好的是,用搜索替换分页。

相关问题