2014-10-13 7 views
0

Я ищу встроенного хранилища данных ключ-значение, котороеJava встроенный ключ-значение хранилища данных для счетчиков

  1. имеет Java API
  2. легко манипулировать счетчики (ака SET = значение + 10 WHERE ключа = «к»)
  3. поддержка мульти-нити клиенты
  4. Высокая производительность

Я нашел LevelDBJni, но он предназначен для простой K-V и недружелюбный для счетчиков. Есть ли лучшие решения?

Спасибо.

ответ

0

В библиотеке Java вы можете использовать Map с размером AtomicInteger.

В следующих примерах я использую String как тип данных для ключа.

E.g.

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

Чтобы управлять счетчики, то вы можете использовать

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

Чтобы получить также обновленное значение

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

Как AtomicInteger предназначен для параллелизм многопоточный Environmet не должно быть никаких проблем ,

Я не могу рассказать вам, как это происходит, поскольку я не знаю ваших конкретных требований, поэтому вам нужно определить это самостоятельно.

0

Посмотрите на http://www.mapdb.org. Это очень высокая производительность и предлагает очень знакомый API (Java Map).