Overall Satisfaction with Redis
I used Redis in the context of an Airline company middleware implementation. At that time, we were looking for an efficient caching solution with the possibility to distribute data across nodes (i.e. sort of data grid without the complexity of a data grid).
Redis allowed us to build very fast a small cluster of nodes (4) serving as a cache for storing web sessions.
Because of additional features of Redis (pub/sub, in memory Keystore), Redis was also identified as non-critical storage for some data.
Redis allowed us to build very fast a small cluster of nodes (4) serving as a cache for storing web sessions.
Because of additional features of Redis (pub/sub, in memory Keystore), Redis was also identified as non-critical storage for some data.
- Redis is easy to learn and concepts are very simple. It's an in-memory storage with regular snapshots for data resiliency.
- Redis offers the possibility to act as a cache with limited but strong eviction set policies. LRU is the most common one.
- The pub/sub feature of Redis is an interesting alternative for efficient and fast data distribution when we don't need a central broker such as JMS. Obviously, it requires some analysis before choosing between the bunch of providers (JMS, Kafka, MQTT, AMQP, Redis, etc)
- Redis is sponsored by Redislab which limit its functionalities. This is normal but they should push for a graphical tool for Redis monitoring. This tool is available for the enterprise edition, it would be nice to have a core version for the community
- I don't know if Redis is available in containers, this might be interesting to have such capability
- Redis has a fast learning curve for developers and operations teams.
- Community edition allows touching a small part of Redis capabilities. In case we need support and additional features, we can decide to buy the enterprise edition which offers many additional features.
- Hazelcast, memcached and TIBCO ActiveSpaces
Memcached didn't offer the possibility to distribute data easily across nodes. Memcached was more for near cache features whereas we were looking for a distributed cache.
Hazelcast and ActiveSpaces are considered as data grid with a powerful approach while distributing data (i.e. geo localization of data) but were more complex in terms of administration compared to Redis.
Hazelcast and ActiveSpaces are considered as data grid with a powerful approach while distributing data (i.e. geo localization of data) but were more complex in terms of administration compared to Redis.
Redis™* Feature Ratings
Using Redis
15 - Redis was used by many teams in my previous company. The main usage of Redis across these teams was to cache web sessions. Redis was also used in various PoC for exploring distributed cache and how efficient Redis was/is compared to the ad-hoc implementation of Memcached.
Majority of teams were working on internal projects and were not focus on client delivery.
Majority of teams were working on internal projects and were not focus on client delivery.
5 - Colleagues supporting Redis (i.e. responsible) are mostly data and system experts already working with data distribution (NoSQL databases). They have a strong understanding of the system and network constraints (such as geolocalisation, bandwidth control, data sharing, etc).
They also have a clear understanding of alternatives and why, for specific use cases, it is better to use in-memory database compare to physical storage.
They also have a clear understanding of alternatives and why, for specific use cases, it is better to use in-memory database compare to physical storage.
- The main use case was for caching data in a distributed context. Redis is really powerful while dealing with data sharding and heavy traffic load
- Another use case of Redis was the capacity to server faster data compare to physical databases. It was used for non-critical systems.
- The last use case (minor) was to explore the pub/sub capability of Redis in the context of the multi-tenant application
- To be honest, we were not really innovating with Redis, we were using common features.
- I'm not anymore working for the company, but I remember that LUA script was explored. They were also trying to build bigger cluster (~100/150 nodes)