Прежде чем давать какие-либо ответы, я хотел бы начать с вопроса о том, зачем мне хранить эту хэш-таблицу на диске, поскольку, согласно вашему описанию, набор данных невелик, и поэтому я предполагаю, что он может уместиться в памяти. Если это просто возможность повторно использовать эту структуру после перезапуска вашего приложения, то вы, вероятно, можете использовать любой формат для его сохранения.
Во-вторых, вы не указываете причин, по которым Redis или MongoDB не являются идеальными. Исходя из ваших (коротких) 3 требований, я бы сказал, что Redis, вероятно, ваш лучший выбор:
- хороших клиентов Java
- не только способен хранить списки, но также поддерживает операции со значениями списка (поэтому данные не непрозрачны)
Единственная причина, по которой я могу предположить устранение Redis, это то, что вы ищете строгие характеристики ACID. Если это то, что вы ищете, вы могли бы взглянуть на BerkleyDB JE. Это было давно, и документация хорошая.