Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于计数器的java嵌入式键值数据存储_Java_Embedded Database_Key Value Store - Fatal编程技术网

用于计数器的java嵌入式键值数据存储

用于计数器的java嵌入式键值数据存储,java,embedded-database,key-value-store,Java,Embedded Database,Key Value Store,我正在搜索一个嵌入式键值数据存储 有Java API 易于操作的计数器(也称为设置值=值+10,其中key=“k”) 支持多线程客户端 高性能 我发现了,但它是为简单的K-V操作而设计的,对计数器不友好。有更好的解决方案吗 谢谢。使用Java库,您可以使用映射,并将原子整数作为值 在以下示例中,我使用String作为键的数据类型 例如 也可以检索更新的值 AtomicInteger value = kvStore.get("...").addAndGet(10); 由于AtomicIntege

我正在搜索一个嵌入式键值数据存储

  • 有Java API
  • 易于操作的计数器(也称为设置值=值+10,其中key=“k”)
  • 支持多线程客户端
  • 高性能
  • 我发现了,但它是为简单的K-V操作而设计的,对计数器不友好。有更好的解决方案吗


    谢谢。

    使用Java库,您可以使用
    映射
    ,并将
    原子整数
    作为值

    在以下示例中,我使用
    String
    作为键的数据类型

    例如

    也可以检索更新的值

    AtomicInteger value = kvStore.get("...").addAndGet(10);
    
    由于AtomicInteger是为并发而设计的,因此多线程环境应该不会有问题


    我无法告诉您它的性能如何,因为我不知道您的具体要求,所以您必须自己确定。

    嵌入式Java DB count DB()在其API中提供了一个increaseCount方法,该方法应能回答此用例。

    请看一看。它的性能非常高,并提供了一个非常熟悉的API(JavaMap)

    kvStore.get("...").addAndGet(10);
    
    AtomicInteger value = kvStore.get("...").addAndGet(10);