a) Redis being single threaded, would it perform well when there is high number of concurrent access?
b) Currently, we are analyzing cache’s Redis, Memcached, Ehcache, and Hazelcast. I suppose we should be able to integrate any of them with java processes running in WAS 8.5.5 or WAS 7.0 App server in case we decide to go with one .. Thoughts ??
2
Answers
My answer to a): Redis has very high throughput even with a single thread. The single threaded design make it very stable and efficient. You can handle more concurrent access by setting up a cluster with more redis instances.
b): Both Redis and Memcached has client library for java. I’m not sure about the other caches.
I have used both EhCache and Redis in two different organizations. What I found out is that Redis is extremely easy to use and integrate.
Answering your questions, Yes Redis is single threaded but is extremely fast and has really high throughput. We use Redis and it currently stores ~40GB of data. And believe me, it is super fast.
Also, Being single threaded you can scale Redis horizontally via clustering.
I also worked on EhCache but didn’t found it intuitive. It is solely built for JAVA apps. Redis will give you the flexibility rest will fail to provide.
I don’t know much about HazleCast, simply because Redis and Memcache are super best (in that particular order!)