Comparison of Oracle Coherence with Ehcache and Redis
Oracle Coherence is an industry level in-memory and distributed caching solution backed by Oracle. In other words, it is use for the extreme scaling, performance increment and improve reliability like other caching operation provides.
In conclusion, these are the major factor to face the challenges by many of applications. For this caching is a good option to reduce the database load.
Oracle Coherence vs Ehcache vs Redis
Let’s move on the comparison between Oracle Coherence, Ehcache and Redis.
Ehcache is a widely adopted Java cache with tiered storage options. And Coherence is in-memory grid solution while Redis is in-memory data structure store, used as database, cache and message broker.
Redis focuses on performance so most of its design decisions prioritize high performance and very low latencies. All of three caching option provides Key-Value store as a primary database model. But with Redis, Multiple data types and a rich set of operations, as well as configurable data expiration, eviction and persistence.
Ehcache has 3.8.0, July 2019 version, Redis has 6.0.6, July 2020. But when we see the Coherence then its last release was 12c, September 2016. It is really a disappointment for me.
As a developer, I want open-source software and Ehcache has Apache Version 2; commercial licenses available. And Redis provide BSD 3-Clause, commercial license available. But Coherence is a commercial product.
Fully managed hosting for Redis on AWS, Azure and DigitalOcean with high availability and SSH access on the #1 multi-cloud DBaaS. While Ehcache and Coherence need extra configuration for that.
Server-side scripts (Store Procedure)
Ehcache and Coherence not providing any server-side scrips. While in the Redis, We can create Server-side scripts using Lua.
Ehcache provides trigger by using Cache Event Listeners and Coherence has Live Events for it. While for Redis, this functionality not provided yet.
This comparison to find the methods for redundantly storing data on multiple nodes
Ehcache replication provided by Terracotta Server and Coherence with selectable consistency level. While Redis has tremendous service for this. Redis provides multi-source replication with Redis Enterprise Pack and Source-replica replication (Chained replication is supported).
This comparison to support to ensure data integrity after non-atomic manipulations of data.
Ehcache supports JTA and can work as an XA resource. Coherence need some configuration. While Redis is with optimistic locking, atomic execution of commands blocks and scripts.
Ehcache using a tiered cache-storage approach and Coherence has optional for durability with some configuration. While Redis has configurable mechanisms for persistency via snapshots and/or operations logs.
Ehcache don’t have any authentication filter. But Coherence has authentication to access the cache via certificates or http basic authentication. While Redis has Simple password-based access control but access control lists and SSL are available in the commercial version.
This comparison by mostly question asked on StackOverflow website.
Oracle coherence is well known old product with 2.5k question asked in 2020 year. Ehcache got hit with 8k questions. While Redis got 70k question which is lot more when we compare with other competitors.
On the above comparison, We can conclude that Redis is far more better than other competitors. Before moving forward, I am going to share google trends also.
All of three caching option is great and serving a good amount of services in their appropriate fields. Example, If you’re using Weblogic server then you can use Oracle coherence without extra configuration for other caching option. Ehcache is also a good option with little configuration for Java.