我们如何使用Astyanax在Cassandra中检索一行?
我有一个Web应用程序,需要在服务器端进行分页,db是cassandra。行键是一个UUID,我在一行中有几列,所以我试图在行键上进行分页。
我已经制定了一个我并不完全满意的解决方案。问题是,当我根据搜索过滤器进行第一次搜索时,我从UI获取,我不知道第一行的UUID,所以我准备一个查询,它给我前6条记录,我存储的密钥是MAP中的第6条记录并将其放入会话中,因此当用户从UI请求第二页时,我检索此密钥(UUID)并将其作为要检索的下一组记录的开始。我试图找到一种更清洁的方法。
答案 0 :(得分:3)
编辑以回应问题变更......
在这种情况下,听起来就像你做得很好。听起来你正在使用OOP,否则行不按顺序排列。虽然playOrm的解决方案更优雅,返回你存储在会话中的光标,但我认为你拥有的光线还不错。
自我们的代码更改后编辑 这个链接中的第74行是我们如何做到的(你可以深入研究那个游标类,看看我们做了什么)。
如果您有10个行键,则只需传入键列表。
我不确定你的意思是什么?你是说你有一个从和到行的键,并希望它们之间的行?您是否使用按行键排序?
另一个完全不同的方向是playOrm,虽然它可以做S-SQL,如果事情是分区的,你可以做连接和其他这样的(上面的链接实际上是playOrm中的一个文件)。
我真的不确定你的意思是“你没有行密钥”
后, 迪安