我正在使用objectify游标来实现基本的分页,基本上创建了一个more
按钮。如何使用objectify实现分页,以构建允许用户前进和后退的链接。更像是一个页面列表..
1, 2, 3, 4, more
答案 0 :(得分:2)
您最好的选择可能是获取整个结果集的密钥并将其存储在会话或javascript中。每个下一个/上一个可以按ID加载列表中的下一个项目。按ID加载非常便宜。您可以将完整的查询结果缓存在内存缓存中,只要它不是太大,但这将取决于您要获取的对象类型。
答案 1 :(得分:0)
您可以使用游标通过FetchOptions.startCursor(..)
和FetchOptions.endCursor(..)
要创建更直接的分页链接,您必须使用FetchOptions.limit(..)
和FetchOptions.offset(..)
。
请注意offset(..)
可能非常昂贵,因为它会获取给定页面之前的所有实体。因此,根据整个集合的使用情况和大小,通过预加载和缓存一组密钥可能会更好。或者更好的是,用搜索替换分页。