I would recommend to try a Redisson. You will able to use distributed and scalable Map or ConcurrentMap and other (Set, List, Queue, Lock ...) implementations on top of high performance key-value Redis server.
Easy example:
Redisson redisson = Redisson.create();
ConcurrentMap map = redisson.getMap("anyMap");
...
redisson.shutdown();