小编gun*_*goo的帖子

DynamoDB 日历/事件类结构的推荐架构

我对 DynamoDB 设计很陌生,并试图为我的应用程序获取正确的架构。在这个应用程序中,不同的用户将输入有关他们一天的各种属性。例如“用户 X,3 月 1 日 12:00-2:00,累了”。给定时间可能有多个条目,或重叠时间(例如,12-2 累了,12-1 吃午饭)。

我需要根据用户和时间范围进行查询。常见查询:

  • 给我时间 t1 和 t2 之间用户 X 的所有“动作”
  • 给我用户 X 的操作 Z 的所有开始时间

我最初的想法是分区键将是开始时间的用户 ID 和范围键,但由于重复的开始时间而无法正常工作,对吗?

第二个想法:

  • 用户 ID - 分区键
  • 开始时间 - RangeKey
  • Action - 该开始时间的所有操作的 JSON 文档

    [{动作:“午餐”,结束时间:“下午1点”},{动作:累了,结束时间:“下午2点”}]

关于正确模式的任何建议?

amazon-dynamodb

6
推荐指数
1
解决办法
1394
查看次数

构建受控的java线程队列

这是我的情况.我必须运行X搜索(10-200之间)获取每个搜索的结果并附加它们.我想为搜索添加一些并发性,但我希望能够限制它.我的意思是我不想踢200个线程并等待所有人完成.我想启动N个线程,并且每个线程完成后启动一个新线程直到完成所有线程.

我知道我可以从头开始写这个,但我想知道是否已经存在一个简单的模式或库?我讨厌重新创造轮子.

谢谢.

java multithreading

2
推荐指数
1
解决办法
246
查看次数

摇篮,复制和重命名文件

我试图在gradle脚本中,为spring app创建bootJar之后,将创建的jar复制并重命名为新名称(将在Dockerfile中使用)。我缺少如何重命名文件(我不想在输出文件的docker版本中使用该版本)。

bootJar {
    baseName = 'kcentral-app'
    version =  version
}


task buildForDocker(type: Copy){
  from bootJar
  into 'build/libs/docker'
}
Run Code Online (Sandbox Code Playgroud)

gradle build.gradle

2
推荐指数
2
解决办法
1869
查看次数