如何在 cassandra 中通过更新时间获得最后 n 个结果?
Posted
技术标签:
【中文标题】如何在 cassandra 中通过更新时间获得最后 n 个结果?【英文标题】:how to get last n results by updated time in cassandra? 【发布时间】:2014-04-30 16:57:34 【问题描述】:我想获取最后 n 个,比如最后 5 个更新的行,即按 cassandra 中的 updated_time desc 排序。有什么好的方法吗?
确切的用例是,我想在事件表中发生事件时更新事件计数,并通过更新时间连同计数一起获取最后五个事件。
表结构:-
event_name 文本、updated_time 时间戳、计数计数器
【问题讨论】:
【参考方案1】:在 Cassandra 中,您可以使用 writetime (cell_name)
检索编辑时间。但是由于您有多个列并且 Cassandra 只能快速读取,因此您可以考虑使用另一个视图以有序的方式准确提供所需的数据。在该新表上,您希望限制读取结果并定期对其进行修剪。
使用writetime()
可能是可行的——但这不是 Cassandra 的方式,因为它的生产速度太慢。另一个只包含您的数据的表是非规范化的 Cassandra 解决方法。
【讨论】:
以上是关于如何在 cassandra 中通过更新时间获得最后 n 个结果?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SQL Server 2008 中通过单个查询更新两个表 [重复]
如何在 Sharepoint 2016 中通过 Visual Web 部件更新项目后重新加载列表?
如何在spring security java config中通过jsp表单更新用户详细信息