Caching systems - Redis vs Geode / GemFire
We are planning to use a caching system for our data retrieval application. This data will change very rarely. My results come from Redis
, GemFire
/ Geode
, VoltDB
, Aerospike
, Hazlecast
and several others. I have listed Geode and Redis. Both stores key-value
are stored in memory.
Redis (based on C) seems to be easier to use and supports datatypes such as lists, hashes, sets, sorted sets, etc. It also has a nice client available in Java, NodeJS, C #, etc. It supports multiple nodes (master-slave).
Geode (based on Java) seems to have more features given that its existence dates back a long time ago. It has the concepts of areas in which data is stored. It has clients available in Java, C #, C ++. It has a locator and server (s) that make the system. It supports distributed servers / nodes (non-shared / no single point of failure).
I searched the internet but couldn't find any comparison between the two in terms of read / write speed, memory usage, disk I / O dumping, scaling, security. Has anyone encountered such a situation before?
source to share
I work mostly with Redis, but during the last year when I work for Pivotal I got to know Geode (open source variant of Pivotal Gemfire). Perhaps it will be biased.
Redis is primarily a stand-alone Key-Value store operated by Salvatore Sanfilippo, HA and sharding options (Sentinel, Cluster) that were built much later. Redis is bursting out fast, and if you prefer performance over consistency, Redis is a good choice. The only protection against Redis is password-based authentication, but you prefer to protect it at the transport layer, which takes extra effort. No support other than the community, or if you choose a commercial Redis product (like RedisLabs).
Geode (Open-Sourced Pivotal GemFire ββabout a year ago, currently GemFire ββis based on Geode) is a product operated by Pivotal for many years. It's built with consistency, HA and data distribution in mind - calls it an in-memory data network. The Geode security layer is extensible and pluggable so you can adapt it to your needs. If you are looking for commercial support then Pivotal can serve you with your needs.
Geode has a Redis protocol adapter that allows you to connect to Redis clients to Geode and use a subset of Redis data structures and commands. It's not complete from a Redis 3.2 perspective, but is still a good choice if you want to integrate with a single key storage product and don't want to use Redis and Geode.
source to share