如何在应用引擎上实现谷歌风格的分页?
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 会做你想做的一切,甚至更多。
【讨论】:
以上是关于如何在应用引擎上实现谷歌风格的分页?的主要内容,如果未能解决你的问题,请参考以下文章