Features
Ehcache is the most widely-used Java-based cache. It is:
robust,
proven,
full-featured,
and integrates with other popular libraries and frameworks.
Ehcache scales from in-process caching, all the way to mixed in-process/out-of-process deployments with terabyte-sized caches.
Fast and Lightweight
Fast
Ehcache's concurrency features are designed for large, high concurrency systems.
Simple
Many users of Ehcache hardly know they are using it. Sensible defaults require no initial configuration.
Small footprint
Ehcache strives to maintain a small footprint - keeping your apps as light as they can be.
Minimal dependencies
The only dependency for core use is SLF4J.
Scalable
Provides for scalability into terabytes
The largest Ehcache installations utilize multiple terabytes of data storage.
With off-heap storage, Ehcache has been tested to store 6TB of data in a single process (JVM).
Scalable to hundreds of caches
The largest Ehcache installations use hundreds of caches.
Tuned for high concurrent load on large/wide multi-CPU servers
Ehcache is specifically built and tested to run well under highly concurrent access on systems with dozens of cores. This results in an optimal balance between thread safety and performance.
Flexible
Provides multiple strategies for:
Expiration policies
Storage tiers (on-heap, off-heap, disk, clustered)
Configuration of caches
Standards Based
Support of JSR-107 JCache - Java Temporary Caching API
You can use Ehcache as a JCache provider. This allows you to use JCache API calls to develop a complete application, without the need to use any Ehcache API calls.
Distributed Caching
Ehcache supports simple yet high performance distributed caching.
Enterprise Java and Applied Caching
High quality implementations for common caching scenarios and patterns.
Cacheable Commands
This is the trusty old command pattern with a twist: asynchronous behavior, fault tolerance and caching. Creates a command, caches it and then attempts to execute it.
Works with Hibernate
Ehcache is popularly used as Hibernate's second-level cache.
Transactional support through JTA
Ehcache supports JTA and is a fully XA compliant resource participating in the transaction, two-phase commit and recovery.
See the complete Transaction Module Java Documentation at
ehcache.org.
API Documentation
The Javadoc documentation of the API can be found here:
Open Source Kit
There is an open-source version of
Ehcache, paired with
Terracotta Server open source functionality. This can be found at
www.terracotta.org/downloads/open-source/catalog.