Need advice about which tool to choose?Ask the StackShare community!
Ehcache vs Redis: What are the differences?
Ehcache: Java's Most Widely-Used Cache. Ehcache is an open source, standards-based cache for boosting performance, offloading your database, and simplifying scalability. It's the most widely-used Java-based cache because it's robust, proven, and full-featured. Ehcache scales from in-process, with one or more nodes, all the way to mixed in-process/out-of-process configurations with terabyte-sized caches; Redis: An in-memory database that persists on disk. Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.
Ehcache belongs to "Cache" category of the tech stack, while Redis can be primarily classified under "In-Memory Databases".
Ehcache and Redis are both open source tools. Redis with 37.1K GitHub stars and 14.3K forks on GitHub appears to be more popular than Ehcache with 1.32K GitHub stars and 452 GitHub forks.
According to the StackShare community, Redis has a broader approval, being mentioned in 3239 company stacks & 1732 developers stacks; compared to Ehcache, which is listed in 4 company stacks and 8 developer stacks.
Hello, I am working on designing the API application for Mobile. We are going to use SpringBoot + Zuul Proxy for API Access Layer and API Services again Spring Boot with REST services exposed. Can you please help me to understand the implementation of REST Caching with ETag or Http Headers cache and how it is different from EhCache for Database side. So if you need to handle caching from REST and Database side, please advise me to get some idea of strategy in implementing it. Thank you so much in advance.
Also for the Java app, which is easy to implement whether Redis or Ehcache, I am new to Redis.
Regards, Dada

Redis and Ehcache are server-side caches. Ehcache is used to cache data within a Java application. Redis runs in it's own environment so it survives OOM JVM crashes. You can use Redis with a multitude of languages.
https://db-engines.com/en/system/Ehcache%3BRedis
ETAGS and HTTP Headers are mainly used by the client side user agent to cache resources locally.
Pros of Ehcache
- Way Faster than Redis and Elasticache Redis1
- Easy setup1
- Simpler to run in testing environment1
- Container doesn't have to be running for local tests1
Pros of Redis
- Performance882
- Super fast540
- Ease of use510
- In-memory cache441
- Advanced key-value cache321
- Open source190
- Easy to deploy180
- Stable163
- Free153
- Fast120
- High-Performance40
- High Availability39
- Data Structures34
- Very Scalable31
- Replication23
- Great community21
- Pub/Sub21
- "NoSQL" key-value data store17
- Hashes14
- Sets12
- Sorted Sets10
- Lists9
- BSD licensed8
- NoSQL8
- Integrates super easy with Sidekiq for Rails background7
- Async replication7
- Bitmaps7
- Keys with a limited time-to-live6
- Open Source6
- Strings5
- Lua scripting5
- Hyperloglogs4
- Awesomeness for Free!4
- Transactions3
- Runs server side LUA3
- outstanding performance3
- Networked3
- LRU eviction of keys3
- Written in ANSI C3
- Feature Rich3
- Performance & ease of use2
- Data structure server2
- Simple1
- Channels concept1
- Scalable1
- Temporarily kept on disk1
- Dont save data if no subscribers are found1
- Automatic failover1
- Easy to use1
- Existing Laravel Integration1
- Object [key/value] size each 500 MB1
Sign up to add or upvote prosMake informed product decisions
Cons of Ehcache
Cons of Redis
- Cannot query objects directly15
- No secondary indexes for non-numeric data types3
- No WAL1