2014-11-22 3 views
-1

Как можно использовать библиотеки кэша java в качестве базы данных?Кэш Java как база данных?

My Я использую что-то вроде Ehcache или JCS вместо базы данных?

Верно ли, что Ehcache поддерживает стратегию persistence = localRestartable только для Enterprise Ehcache, то есть платной версии?

Означает ли это, что бесплатная версия не подходит для замены базы данных?

UPDATE

Почему не постоянный кэш замены базы данных? В чем основное отличие работы базы данных и работы кеша с хранилищем dist?

Ниже приведен пример сравнения между neo4j (база данных графа) и Ehcache (cache): http://vschart.com/compare/ehcache/vs/neo4j-community Они выглядят сопоставимыми.

+0

Кэш не является базой данных. Даже постоянные кэши не являются базами данных. Вы потеряете данные приложения, если будете настаивать на том, чтобы рассматривать его как базу данных. Вместо этого используйте хранилище значений ключа NoSQL. –

+0

Почему постоянный кэш не заменяет базу данных? –

+0

Я ответил вам и вашим комментариям, и вы все еще повторяете «но я уверен, что я прав». Downvoting, потому что, если вы уверены, что не должны задавать вопросы. Попробуйте свою * яркую идею, посмотрите, как она работает, и вернитесь сюда, чтобы ответить на вопрос, что с этим происходит. – SJuan76

ответ

1

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

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

Это основная причина, по которой кеш не должен использоваться в качестве хранилища данных.

Теперь некоторые реализации кэша могут предлагать функцию предотвращения выселения, но в этом случае вы в конечном итоге оплачиваете цену логики/сложности выселения, которая не будет присутствовать в хранилище данных.

Что касается сохранения сохранности Ehcache, то устаревший режим overflowToDisk=true и diskPersistent=true предлагают ограниченную выживаемость с сохранением JVM. Тем не менее, очень чувствительно к надлежащему отключению и обнаружению любого повреждения при запуске, кеш будет отбрасывать все содержимое и перезапускать пустым. См. Выше, почему это допустимый параметр в контексте кеша.

Смежные вопросы