For this question: which is the best Java caching solution? It's hard to have a simple answer, this depends on different scenarios: whether only a local cache is needed, or if the tradeoff between data consistency and latency in the cache partition that needs to be used in the application cluster is static release on a fixed hardware architecture or a growing number of application servers
Here are some caching solutions for Java application servers, including Ehcache, Hazelcast, and Infinispan, which will introduce different features in different application scenarios.
Here is a simple comparison table for three solutions:
|
Ehcache |
hazelcast |
infinispan |
A distributed hash table supported in point to point mode |
No |
Yes |
Yes |
Support for the full replication architecture in point-to-point mode |
Yes |
No |
Yes |
Atomic operations in point-to-point mode ensure data consistency, even if the cache configuration is incorrect |
Yes |
Yes |
No |
Explicit hardware configuration in C/S mode |
Yes |
No |
No |
Scalable configuration release in C/s mode |
No |
Yes |
Yes |
Atomic operation ensures data consistency in C/s mode |
No |
Yes |
No |
Here is a full range of article catalogs:
Contents Part 0:introduction part 0.1:overview. Part 0.2:caches and Big Data. Part 1:example Application Part 1.1:brief Introduction to the features of the User Event Cache. Part 1.2:rest interface exposed. Part 1.3:the common data types used. Part 1.4:reference implementation with a concurrenthashmap. Part 2:local caches and eviction part 2.1:introduction to JSR 107. Part 2.2:local cache with Ehcache. Part 2.3:local cache with Hazelcast. Part 2.4:local cache with Infinispan. Part 3:peer-to-peer Clustering part 3.1:introduction to Peer-to-peer architectures. Part 3.2:peer-to-peer with Ehcache. Part 3.3:peer-to-peer with Hazelcast. Part 3.4:peer-to-peer with Infinispan. Part 4:client-server Clustering part 4.1:introduction to Client-server architectures. Part 4.2:client-server with Ehcache. Part 4.3:client-server with Hazelcast. Part 4.4:client-server with Infinispan. Part 5:advanced Topics Part 5.1 second-level caches for databases. Part 5.2 Advanced features.
Summary
OSC translated from http://labs.consol.de/java-caches/