有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java并发更新列表的最佳方法

我有一个多线程应用程序。应用程序接受一个输入,该输入有一个字段“分类器”,它是一个字符串和几个其他辅助字段。处理输入并生成唯一字符串列表。此字符串列表需要根据字段分类器进行更新

我的方法是使用dynamo Db,其中主键是分类器,并维护一个集合。为生成的每个字符串列表更新集合。我觉得这增加了很多开销,因为TPS大约分布在2000个实例之间,使用相同分类器字段的输入最多可以重复30000次。是否有更好的方法来存储根据分类器字段生成的所有字符串列表


共 (1) 个答案

  1. # 1 楼答案

    在存储实际列表的同时,还可以存储列表的哈希值。因此,U表应该有3列:

    分类器| id |字符串列表|哈希|列表

    对于每个传入请求流程,如下所示:

    h1 <- Create a hash(list of strings)
    
    h2 <- select HASH_OF_LIST from classifier_table where classifier_id == <classifier_id>
    
    if h1 != h2:
      insert into classifier_table (list of strings, h2) for classifier_id == <classifier_id>