Это зависит от того, что вы хотите.Карта в памяти будет быстрее;истечение срока действия данных на самом деле не проблема (см .: Google Guava MapMaker , который может создать карту, срок действия которой истекает после чтения и / или записи, и давайте не будем забывать такие вещи, как OSCache и EHCache , не говоря уже о распределенных вещах, таких как GigaSpaces XAP или Coherence ).
Проекты кэширования (XAP, OSCache, EhCache, Coherence и т. Д.) Могут распределять записи в кэше, поэтому вы получаете естественное разделение и другие средства;Согласованность может управлять транзакциями и сквозной записью, а XAP фактически предназначен для использования в качестве системы записи (где запись в нее синхронизируется и реплицируется, так что вы используете сетку данных в памяти в качестве фактического механизма хранения данных, а неиспользуя базу данных.)
Memcached - это ... хорошо, вы можете получить доступ к экземпляру сервера memcached с нескольких машин.Memcached как API - это просто хранилище ключей / значений, а распространение полностью выполняется на стороне клиента.Я думаю, что у него, конечно, есть основы, и у него определенно есть многоязыковые API, но в действительности он довольно слабый.
(Кстати, у GigaSpaces есть слой Memcached, так что вы могли бы теоретически использоватьmemcached как система записи ...)