title: Caching Systems - Redis vs Geode/GemFire
body: <p>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 <code>Redis</code>, <code>GemFire</code>/<code>Geode</code>, <code>VoltDB</code>, <code>Aerospike</code>, <code>Hazlecast</code> and few others. I shortlisted Geode and Redis. Both are <code>key-value</code> in-memory stores. </p>
  
  <p><strong>Redis</strong> (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).</p>
  
  <p><strong>Geode</strong> (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).</p>
  
  <p>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 ? </p>