Redis is great, and your application can be great too!
March 16, 2017
Redis is great, and your application can be great too!
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.