Alternatives to Ehcache logo

Alternatives to Ehcache

Memcached, Apache Ignite, Hazelcast, Redis, and guava are the most popular alternatives and competitors to Ehcache.
171
159
+ 1
4

What is Ehcache and what are its top alternatives?

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.
Ehcache is a tool in the Cache category of a tech stack.
Ehcache is an open source tool with 2K GitHub stars and 573 GitHub forks. Here’s a link to Ehcache's open source repository on GitHub

Top Alternatives to Ehcache

  • Memcached
    Memcached

    Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering. ...

  • Apache Ignite
    Apache Ignite

    It is a memory-centric distributed database, caching, and processing platform for transactional, analytical, and streaming workloads delivering in-memory speeds at petabyte scale ...

  • Hazelcast
    Hazelcast

    With its various distributed data structures, distributed caching capabilities, elastic nature, memcache support, integration with Spring and Hibernate and more importantly with so many happy users, Hazelcast is feature-rich, enterprise-ready and developer-friendly in-memory data grid solution. ...

  • Redis
    Redis

    Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams. ...

  • guava
    guava

    The Guava project contains several of Google's core libraries that we rely on in our Java-based projects: collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth. ...

  • GraphQL Cache
    GraphQL Cache

    A custom middleware for graphql-ruby that handles key construction and cache reads/writes transparently. ...

Ehcache alternatives & related posts

Memcached logo

Memcached

7.6K
5.5K
473
High-performance, distributed memory object caching system
7.6K
5.5K
+ 1
473
PROS OF MEMCACHED
  • 139
    Fast object cache
  • 129
    High-performance
  • 91
    Stable
  • 65
    Mature
  • 33
    Distributed caching system
  • 11
    Improved response time and throughput
  • 3
    Great for caching HTML
  • 2
    Putta
CONS OF MEMCACHED
  • 2
    Only caches simple types

related Memcached posts

Kir Shatrov
Engineering Lead at Shopify · | 17 upvotes · 1.2M views

At Shopify, over the years, we moved from shards to the concept of "pods". A pod is a fully isolated instance of Shopify with its own datastores like MySQL, Redis, Memcached. A pod can be spawned in any region. This approach has helped us eliminate global outages. As of today, we have more than a hundred pods, and since moving to this architecture we haven't had any major outages that affected all of Shopify. An outage today only affects a single pod or region.

As we grew into hundreds of shards and pods, it became clear that we needed a solution to orchestrate those deployments. Today, we use Docker, Kubernetes, and Google Kubernetes Engine to make it easy to bootstrap resources for new Shopify Pods.

See more
Julien DeFrance
Principal Software Engineer at Tophatter · | 16 upvotes · 3.1M views

Back in 2014, I was given an opportunity to re-architect SmartZip Analytics platform, and flagship product: SmartTargeting. This is a SaaS software helping real estate professionals keeping up with their prospects and leads in a given neighborhood/territory, finding out (thanks to predictive analytics) who's the most likely to list/sell their home, and running cross-channel marketing automation against them: direct mail, online ads, email... The company also does provide Data APIs to Enterprise customers.

I had inherited years and years of technical debt and I knew things had to change radically. The first enabler to this was to make use of the cloud and go with AWS, so we would stop re-inventing the wheel, and build around managed/scalable services.

For the SaaS product, we kept on working with Rails as this was what my team had the most knowledge in. We've however broken up the monolith and decoupled the front-end application from the backend thanks to the use of Rails API so we'd get independently scalable micro-services from now on.

Our various applications could now be deployed using AWS Elastic Beanstalk so we wouldn't waste any more efforts writing time-consuming Capistrano deployment scripts for instance. Combined with Docker so our application would run within its own container, independently from the underlying host configuration.

Storage-wise, we went with Amazon S3 and ditched any pre-existing local or network storage people used to deal with in our legacy systems. On the database side: Amazon RDS / MySQL initially. Ultimately migrated to Amazon RDS for Aurora / MySQL when it got released. Once again, here you need a managed service your cloud provider handles for you.

Future improvements / technology decisions included:

Caching: Amazon ElastiCache / Memcached CDN: Amazon CloudFront Systems Integration: Segment / Zapier Data-warehousing: Amazon Redshift BI: Amazon Quicksight / Superset Search: Elasticsearch / Amazon Elasticsearch Service / Algolia Monitoring: New Relic

As our usage grows, patterns changed, and/or our business needs evolved, my role as Engineering Manager then Director of Engineering was also to ensure my team kept on learning and innovating, while delivering on business value.

One of these innovations was to get ourselves into Serverless : Adopting AWS Lambda was a big step forward. At the time, only available for Node.js (Not Ruby ) but a great way to handle cost efficiency, unpredictable traffic, sudden bursts of traffic... Ultimately you want the whole chain of services involved in a call to be serverless, and that's when we've started leveraging Amazon DynamoDB on these projects so they'd be fully scalable.

See more
Apache Ignite logo

Apache Ignite

93
164
32
An open-source distributed database, caching and processing platform
93
164
+ 1
32
PROS OF APACHE IGNITE
  • 4
    Multiple client language support
  • 4
    Written in java. runs on jvm
  • 4
    Free
  • 4
    High Avaliability
  • 3
    Load balancing
  • 3
    Sql query support in cluster wide
  • 3
    Rest interface
  • 2
    Easy to use
  • 2
    Distributed compute
  • 2
    Better Documentation
  • 1
    Distributed Locking
CONS OF APACHE IGNITE
    Be the first to leave a con

    related Apache Ignite posts

    Hazelcast logo

    Hazelcast

    346
    467
    59
    Clustering and highly scalable data distribution platform for Java
    346
    467
    + 1
    59
    PROS OF HAZELCAST
    • 11
      High Availibility
    • 6
      Distributed Locking
    • 6
      Distributed compute
    • 5
      Sharding
    • 4
      Load balancing
    • 3
      Map-reduce functionality
    • 3
      Simple-to-use
    • 3
      Written in java. runs on jvm
    • 3
      Publish-subscribe
    • 3
      Sql query support in cluster wide
    • 2
      Optimis locking for map
    • 2
      Performance
    • 2
      Multiple client language support
    • 2
      Rest interface
    • 1
      Admin Interface (Management Center)
    • 1
      Better Documentation
    • 1
      Easy to use
    • 1
      Super Fast
    CONS OF HAZELCAST
    • 4
      License needed for SSL

    related Hazelcast posts

    Redis logo

    Redis

    57.9K
    44.6K
    3.9K
    Open source (BSD licensed), in-memory data structure store
    57.9K
    44.6K
    + 1
    3.9K
    PROS OF REDIS
    • 886
      Performance
    • 542
      Super fast
    • 513
      Ease of use
    • 444
      In-memory cache
    • 324
      Advanced key-value cache
    • 194
      Open source
    • 182
      Easy to deploy
    • 164
      Stable
    • 155
      Free
    • 121
      Fast
    • 42
      High-Performance
    • 40
      High Availability
    • 35
      Data Structures
    • 32
      Very Scalable
    • 24
      Replication
    • 22
      Great community
    • 22
      Pub/Sub
    • 19
      "NoSQL" key-value data store
    • 16
      Hashes
    • 13
      Sets
    • 11
      Sorted Sets
    • 10
      NoSQL
    • 10
      Lists
    • 9
      Async replication
    • 9
      BSD licensed
    • 8
      Bitmaps
    • 8
      Integrates super easy with Sidekiq for Rails background
    • 7
      Keys with a limited time-to-live
    • 7
      Open Source
    • 6
      Lua scripting
    • 6
      Strings
    • 5
      Awesomeness for Free
    • 5
      Hyperloglogs
    • 4
      Transactions
    • 4
      Outstanding performance
    • 4
      Runs server side LUA
    • 4
      LRU eviction of keys
    • 4
      Feature Rich
    • 4
      Written in ANSI C
    • 4
      Networked
    • 3
      Data structure server
    • 3
      Performance & ease of use
    • 2
      Dont save data if no subscribers are found
    • 2
      Automatic failover
    • 2
      Easy to use
    • 2
      Temporarily kept on disk
    • 2
      Scalable
    • 2
      Existing Laravel Integration
    • 2
      Channels concept
    • 2
      Object [key/value] size each 500 MB
    • 2
      Simple
    CONS OF REDIS
    • 15
      Cannot query objects directly
    • 3
      No secondary indexes for non-numeric data types
    • 1
      No WAL

    related Redis posts

    Robert Zuber

    We use MongoDB as our primary #datastore. Mongo's approach to replica sets enables some fantastic patterns for operations like maintenance, backups, and #ETL.

    As we pull #microservices from our #monolith, we are taking the opportunity to build them with their own datastores using PostgreSQL. We also use Redis to cache data we’d never store permanently, and to rate-limit our requests to partners’ APIs (like GitHub).

    When we’re dealing with large blobs of immutable data (logs, artifacts, and test results), we store them in Amazon S3. We handle any side-effects of S3’s eventual consistency model within our own code. This ensures that we deal with user requests correctly while writes are in process.

    See more

    I'm working as one of the engineering leads in RunaHR. As our platform is a Saas, we thought It'd be good to have an API (We chose Ruby and Rails for this) and a SPA (built with React and Redux ) connected. We started the SPA with Create React App since It's pretty easy to start.

    We use Jest as the testing framework and react-testing-library to test React components. In Rails we make tests using RSpec.

    Our main database is PostgreSQL, but we also use MongoDB to store some type of data. We started to use Redis  for cache and other time sensitive operations.

    We have a couple of extra projects: One is an Employee app built with React Native and the other is an internal back office dashboard built with Next.js for the client and Python in the backend side.

    Since we have different frontend apps we have found useful to have Bit to document visual components and utils in JavaScript.

    See more
    guava logo

    guava

    1.2K
    192
    6
    Google Core Libraries for Java 6+
    1.2K
    192
    + 1
    6
    PROS OF GUAVA
    • 5
      Interface Driven API
    • 1
      Easy to setup
    CONS OF GUAVA
      Be the first to leave a con

      related guava posts

      GraphQL Cache logo

      GraphQL Cache

      23
      37
      0
      A custom caching plugin for graphql-ruby
      23
      37
      + 1
      0
      PROS OF GRAPHQL CACHE
        Be the first to leave a pro
        CONS OF GRAPHQL CACHE
          Be the first to leave a con

          related GraphQL Cache posts