有没有办法从dynamodb表中获取最后N条记录.我拥有的范围键是时间戳.所以我可以使用ScanIndex按顺序按时间顺序排列项目.
但是为了查询我需要有一个hashKey条件,我不想过滤.有什么想法吗?
Bru*_*eis 19
DynamoDB不是以这种方式工作的.根据HashKey上的散列分配项目,使得顺序不可预测.
您的选择包括:
for (item in items) { if (item newer then oldest accumulated item) accumulate item; });Events,创建一个Events20130705为今天的事件调用,Events20130706为明天的事件),并像上一个选项一样扫描 - 这样你的扫描更小您也可以更改数据模型.例如,您可以使用一个版本化条目来保留对N个最新项目的引用.或者您可以使用单个计数器来增加和更新其他条目,例如recent-K,其中K是您的计数器模型N.
也许你甚至可以使用另一种工具来完成这项工作.例如,您可以使用Redis服务器来执行此操作.如果不更详细地了解您的用例,很难做出精确的建议 - 这应该具有多大的可扩展性?应该有多可靠?你愿意做多少维护?你愿意付多少钱?
通常更好地接受限制,了解您的约束并具有创造性.
| 归档时间: |
|
| 查看次数: |
8886 次 |
| 最近记录: |