登录
首页 >  Golang >  Go问答

使用Bigtable Go客户端实现分页功能的方法

来源:stackoverflow

时间:2024-03-12 12:54:17 254浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《使用Bigtable Go客户端实现分页功能的方法》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

问题内容

我将时间序列数据存储在bigtable中,rowKey为userId#timestamp。给定(userId,startTime,endTime)的查询参数,我如何支持分页,即返回从“offset”开始的“limit”记录?

注意,userId#startTime rowKey 可能不存在于 bigtable 中,但在 startTime/EndTime 之前和之后会有一些数据点。 Bigtable Go 客户端似乎支持带有 prefixRange 参数的 ReadRows。当我使用 ReadRows 进行迭代时,我可以使用 userId 的 prefixRange 和“查找”startTime,但是如果 starTime/endTime 已经过去了,这似乎非常低效。有更好的办法吗?


解决方案


您可以使用 NewRange 启动从 userid#starttimeuserid#endtimeReadRows 操作,并使用 LimitRows 读取选项设置返回行数的限制。

err = tbl.ReadRows(ctx, NewRange("#", "#"), func(r Row) bool {
    fmt.Println("Got a row")
    return true
}, LimitRows(100))

终于介绍完啦!小伙伴们,这篇关于《使用Bigtable Go客户端实现分页功能的方法》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>