Question: Is Ehcache a Distributed Cache System?


Yes, Ehcache is a distributed caching system. It's an open source, standards-based cache that boosts performance, offloads your database, and simplifies scalability. Ehcache is robust, proven, full-featured, and integrates with other popular libraries and frameworks.

In its distributed configuration, Ehcache uses Terracotta server array to provide cache coherence (consistency) across multiple nodes in a cluster. This allows the application to see a single, coherent view of the cache data, which is extremely valuable in multi-node environments.

Here's an example of how you might configure Ehcache for distributed caching:

<ehcache xmlns:xsi="" xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="true" monitoring="autodetect" dynamicConfig="true"> <cacheManagerPeerProviderFactory class="net.sf.ehcache.distribution.terracotta.TerracottaClientBootstrapCacheManagerPeerProviderFactory" properties="terracottaConfigUrl=localhost:9510"/> <defaultCache maxElementsInMemory="10000" eternal="false" timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true"> <terracotta/> </defaultCache> <cache name="sampleCache1" maxEntriesLocalHeap="10000" eternal="false" timeToIdleSeconds="300" timeToLiveSeconds="600" overflowToDisk="false"> <terracotta/> </cache> </ehcache>

This configuration sets up a distributed cache named 'sampleCache1', using a Terracotta server at 'localhost' on port '9510'.

Remember to add proper dependencies in your project.

Please note: the use of distributed Ehcache requires Terracotta servers. Always refer to the latest documentation for any updates or changes.

Was this content helpful?

Start building today

Dragonfly is fully compatible with the Redis ecosystem and requires no code changes to implement.