Redis is great, and your application can be great too!
March 16, 2017

Redis is great, and your application can be great too!

Anonymous | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User

Overall Satisfaction with Redis

We mostly use Redis as a cache for data flowing through a data processing pipeline. When we have surges of activity, we rely on redis to alleviate the stress on our pipeline and ensure that no messages are lost. We also use some of the features in Redis to synchronize our services across several servers.
  • Caching - that's what it's built to do, and it does it well.
  • Performance - pretty much everything happens in memory, so it's blazing fast.
  • Atomic operations - when you need a distributed counter, Redis is a great option for avoiding race conditions across services/servers.
  • Blocking calls - polling for changes kinda stinks, and Redis gives you the option to perform blocking calls that immediately return when data is ready.
  • Complex querying - Redis is not a relational database, and should not be used as one.
  • Clustering - this is always a complicated topic, but it could be made more simple.
  • Redis is free, so the ROI is pretty incredible.
  • Setting up redis is as simple as installing a package, launching a service, then configuring your application to talk to it. Very low overhead that way, and very quick and easy to get up and running.
  • memcached
Memcached is a much more simple caching layer than Redis. Some features that make Redis come out above memcached include:
  • Data structures. Redis offers plenty of useful data structures (lists, hashmaps, sets, etc) where memcached is basically just strings.
  • Data persistence. Redis can flush data to disk to be restored if/when the redis service is restarted. Memcached loses everything each time you restart it.
  • Pubsub. Redis allows you to subscribe to certain topics/channels and publish messages to those topics/channels for consumption in several places. No such feature with memcached.
  • Object size. Redis allows you to store much larger values than memcached.
  • Clustering. Redis allows you to setup a cluster for replication/redundancy. No such capability built into memcached.
The benefits we've seen by implementing Redis in our applications have been tremendous. We have no reason to not keep using Redis. We will likely evaluate alternatives in the future, but not because of any shortcoming we've identified with Redis thus far. Sometimes there are better tools for certain jobs. We want to be open to new options if they meet our requirements better. So far Redis has done very well for us.
For anything that requires a cache, redis has been a great option for me for several years. It can easily handle a huge volume of requests, making it a fantastic way to speed up a popular web application, for example. Being able to automatically expire entries after a certain amount of time helps reduce load caused by complex calculations or queries that use other data sources. It's simply fantastic.