Redis : Effective cache management solutionhttps://www.trustradius.com/nosql-databasesRedisUnspecified9.11701012019-05-21T14:10:03.926Z
May 21, 2019
Redis : Effective cache management solution
Score 10 out of 101
Overall Satisfaction with Redis
First, I would like to clarify that Redis is not being used in production by my organization currently. Right now, I am involved in an R&D project, where I am experimenting on how to induce Redis on various modules. I am planning to use Redis as a cache management solution in our application for now. On successful implementation, we will extend Redis usage to manage other functionality as well.
- Cache management: Redis is the best solution out there for cache management. It out marked Memcache in latency. Redis gives better flexibility when comes to data storage techniques.
- For example: Instead of storing objects as serialized strings, we can use a Redis Hash to store an object's fields and values and manage them using a single key.
- Replication: Redis has the best build in replication feature.
- For example, It allows slave Redis instances to be exact copies of master instances. The slave will automatically reconnect to the master every time the link breaks and will attempt to be an exact copy of it regardless of what happens to the master.
- Pub/Sub- It's Publish & Subscribe system of Redis. Where Publish broadcast content to all its subscribers simultaneously. There are various use cases of Pub/Sub. Developers are using it for triggering scripts based on Pub/Sub events. There are various chat ecosystems built on the Pub/Sub module.
- Redis is super fast but it comes with a cost. Whole dataset resides in RAM. So it can be costly as primary memory is more costly, then secondary ones.
- Persistence issues: To achieve it, Redis uses a memory dump to create a persistence snapshot, that's cool. But it requires some Linux Kernel tweaking to avoid performance degradation while the Redis server process is forking. This further causes latency.
- Master-slave structure side effect: Master-slave architecture comes with its own side effects. Please note that there will be only one master with multiple slaves for replication. All writing goes to the master, which creates more load on the master node. So, when the master goes down, the whole architecture does.
- The positive impact is increased availability of contents on a slow network due to effective cache management & service.
- Another positive impact is it saving us a round trip to the server.
- Redis has increased the performance of the application.
Currently, Redis is in an experimental phase in my organization. As I already mentioned that it's yet to be deployed in a production environment. We will study its impact when Redis will get involved in the real transaction process. So, far we have calculated that we can fetch some latency issues but, we are yet to establish it.
- Product Usability
- Prior Experience with the Product
- Analyst Reports
- Third-party Reviews
Analyst reports & my own experience with the product were a major factor in the decision.
Yes, we are surely being benefited by Redis features. Redis is a easy to use and maintain software. I have personally been able to manage & develop various cache & message broker related solutions easily. Production-grade deployment is also easy because I have tested it in semi prod environments, which is almost like our prod.