Это зависит от ваших потребностей. Если вы выполняете работу в памяти на одном компьютере, то ehcache будет работать отлично, если у вас достаточно ОЗУ или достаточно быстрый жесткий диск, чтобы переполнение не вызывало разбиение / разбиение диска. если вы обнаружите, что вам необходимо добиться масштабируемости, даже несмотря на то, что эта конкретная операция часто происходит, вам, вероятно, захочется выполнить кластеризацию. JGroups / TreeCache от JBoss поддерживают это, также как и EHcache (я думаю), и я знаю, что он определенно работает, если вы используете Ehcache с терракотой, что является очень приятной интеграцией. Этот ответ не говорит непосредственно о достоинствах EHcache и OSCache, так что вот такой ответ: EHcache, кажется, имеет наибольшую инерцию (раньше это была стандартная, хорошо известная, активная разработка, включая новый сервер кеша), и OSCache, казалось (по крайней мере, в какой-то момент), чтобы иметь немного больше возможностей, но я думаю, что с опциями, упомянутыми выше, эти преимущества спорны / заменены. Ах, еще одна вещь, которую я забыл упомянуть, это то, что транзакционность данных важна, и ваши требования уточнить список допустимых вариантов.