We are considering to use a caching system to our application to do data lookup. This data will change very infrequently. My findings came out with Redis
, GemFire
/Geode
, VoltDB
, Aerospike
, Hazlecast
and few others. I shortlisted Geode and Redis. Both are key-value
in-memory stores.
Redis (C based) seems to be easier to use and supports data types such as lists, hashes, sets, sorted sets, etc. It also has some good client available in Java, NodeJS, C#, etc. It supports multiple nodes (master-slave).
Geode (Java based) seems to have more features considering its existence dates a long back. It has concepts of regions in which stores the data. It has clients available in Java, C#, C++. It has locator(s) and server(s) which make the system. It supports distributed servers/nodes (non-shared/no single point of failure).
I searched internet but could not find any comparison between these two in terms of Read/write speed, Memory usage, Disk I/O dumping, Scaling, Security. Has anyone come across such situation before ?