簡體   English   中英

用於計數器的Java嵌入式鍵值數據存儲

[英]java embedded key-value data store for counters

我正在尋找一個嵌入式的鍵值數據存儲

  1. 有Java API
  2. 易於操作的計數器(又名SET value = value + 10 WHERE key =“ k”)
  3. 支持多線程客戶端
  4. 高性能

我已經找到了LevelDBJni ,但是它是為簡單的KV操作而設計的,對計數器不友好。 有更好的解決方案嗎?

謝謝。

使用Java庫,您可以將AtomicInteger用作值的Map

在以下示例中,我將String用作鍵的數據類型。

例如

Map<String, AtomicInteger> kvStore = new ...

要操作計數器,您可以使用

kvStore.get("...").addAndGet(10);

還要檢索更新的值

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

由於AtomicInteger是為並發而設計的,因此多線程環境應該沒有問題。

我無法告訴您這樣做的效果如何,因為我不知道您的具體要求,因此您必須自己確定。

嵌入式Java DB count-db( https://github.com/koendeschacht/count-db )在其API中提供了一個count方法,該方法應對此用例進行解答。

看看http://www.mapdb.org 它具有很高的性能,並提供了非常熟悉的API(Java Map)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM