如何在应用引擎上实现谷歌风格的分页?

Posted

技术标签:

【中文标题】如何在应用引擎上实现谷歌风格的分页?【英文标题】:How to implement Google-style pagination on app engine? 【发布时间】:2010-08-18 16:18:33 【问题描述】:

看到app gallery 上的分页了吗?它有页码和一个随页码增加的“开始”参数。大概这个应用程序是在 GAE 上制作的。如果是这样,他们是如何进行这种分页的? ATM 我正在​​使用游标,但在 URL 中传递它们是丑陋的。

【问题讨论】:

【参考方案1】:

您可以简单地将“start”参数作为偏移量传递给查询中的 .fetch() 调用。当人们深入研究结果时,效率会降低,但如果您不希望人们浏览超过 1000 个左右,它是可以管理的。您可能还需要考虑保留缓存,将查询和偏移量映射到游标,以便重复查询可以有效地获取下一组结果。

【讨论】:

你认为这是我发布的链接中的做法吗?我没想到他们会使用扩展性很差的东西。我会尝试缓存的想法。 是的,我希望这就是画廊中的做法,原因与我提到的相同 - 大多数人不会浏览前几百个条目。您可以显示页码,因为您知道偏移量 - 只需除以结果数。【参考方案2】:

Ben Davies's outstanding PagedQuery class 会做你想做的一切,甚至更多。

【讨论】:

以上是关于如何在应用引擎上实现谷歌风格的分页?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iPhone 应用中实现谷歌聊天

谷歌应用引擎 GQL,如何以毫秒精度使用日期时间进行分页

REST Web 应用程序中的分页

SEO友好的分页结构

谷歌应用引擎和分页

如何在android Firestore上实现Paginate查询[重复]