Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Open-source Distribued Cache for Java

What is the best open source distributed cache that can be used in Java?

I thought it was EHCache, but apparently it can be scaled on multiple nodes only when using Terracotta Server Array, which is a commercial product.

My goal is to build caches for streaming data in real-time with a certain delay, and my actual estimated size of the data lies is in the order of 8gb, while the production rate is much slower, in the order of 3mb per second.

Since there is an initial delay, I would like my cache also to be replicated, because when starting from 0 my cache would require a warm up period which I am seriously interested in avoiding.

like image 266
Edmondo1984 Avatar asked Sep 18 '12 09:09

Edmondo1984


People also ask

Which is the best cache for Java?

Ehcache is an open-source implementation of the JSR-107, which is reported to be the most used Java-based cache (URL-2, 2020).

Does Java have a cache?

The Java Object Cache provides caching for expensive or frequently used Java objects when the application servers use a Java program to supply their content. Cached Java objects can contain generated pages or can provide support objects within the program to assist in creating new content.

What is JCS in Java?

JCS is a distributed caching system written in Java. It is intended to speed up applications by providing a means to manage cached data of various dynamic natures. Like any caching system, JCS is most useful for high read, low put applications.


4 Answers

Memcached is worth looking into.

like image 85
basiljames Avatar answered Oct 19 '22 07:10

basiljames


Apache Ignite has a feature rich distributed data grid which, of course, supports distributed caching. You can find more info here: https://ignite.apache.org/features/datagrid.html

like image 22
Dmitriy Avatar answered Oct 19 '22 08:10

Dmitriy


I would recommend you to take a look on the product called Hazelcast although its not a distributed cache per se, its rather a data grid which is very scalable and very easy to use.

BTW it could be better if you could tell us what are the requirements, there are a lot of open source products that may fit your needs...

Hope this helps

like image 2
Mark Bramnik Avatar answered Oct 19 '22 08:10

Mark Bramnik


You don't need a commercial license to Terracotta to cluster your (Eh)caches... You do need a license when using multiple stripes, but one server (and potentially a passive) don't require any license

like image 2
Alex Snaps Avatar answered Oct 19 '22 08:10

Alex Snaps