我有以下用例:
在DynamoDB中,我想保存一个按降序排列的用户事件列表,这样我就可以在顶部看到最新的事件。然而,我只对最近的1000件事感兴趣。
目前,我有一个表,其中userId是Hash键,用户事件的时间戳是range键。
有没有什么有效的方法可以将给定userId的项目数量保持在最大1000个的范围内,并将最新事件放在首位?
我正在使用Java低级API,如果这很重要的话。
我想你的表模式是完美的,你可以用userId查询表,并使用选项
ScanIndexForward => False
这将在范围键(即时间戳)上按降序对您的数据进行排序
你可以使用选项
Limit => 1000
这将只显示最近的1000个事件。
希望对有所帮助