Question: Is Ehcache a Distributed Cache System?
Answer
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="http://www.w3.org/2001/XMLSchema-instance"
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?
Help us improve by giving us your feedback.
Other Common In Memory Questions (and Answers)
- What is a Distributed Cache and How Can It Be Implemented?
- How do you design a distributed cache system?
- What is a persistent object cache and how can one implement it?
- How can I set up and use Redis as a distributed cache?
- Why should you use a persistent object cache?
- What are the differences between an in-memory cache and a distributed cache?
- What is AWS's In-Memory Data Store Service and how can it be used effectively?
- What is a distributed cache in AWS and how can it be implemented?
- How can you implement Azure distributed cache in your application?
- What is the best distributed cache system?
- Is Redis a distributed cache?
- What is the difference between a replicated cache and a distributed cache?
Free System Design on AWS E-Book
Download this early release of O'Reilly's latest cloud infrastructure e-book: System Design on AWS.

Switch & save up to 80%
Dragonfly is fully compatible with the Redis ecosystem and requires no code changes to implement. Instantly experience up to a 25X boost in performance and 80% reduction in cost