Redis, a fast, reliable and well supported data storage system
Eric Mason | TrustRadius Reviewer
September 24, 2019

Redis, a fast, reliable and well supported data storage system

Score 9 out of 10
Vetted Review
Verified User
Review Source

Overall Satisfaction with Redis

We're currently using Redis to support distributed caching and synchronization across our app. Our application runs on multiple servers so ensuring all infrastructure is in sync and key operations are atomic is critical. It's being used by the backend development team in core infrastructure. Redis is well suited to solve this problem as it offers both performance and reliability.
  • Atomic operations
  • Quick Lookups
  • Widely supported (there are many tools/libraries built over Redis)
  • We had some difficulty scaling Redis without it becoming prohibitively expensive.
  • Redis has very simple search capabilities, which means its not suitable for all use cases.
  • Redis doesn't have good native support for storing data in object form and many libraries built over it return data as a string, meaning you need build your own serialization layer over it.
  • Existing tools like Redisson that were built over Redis reduced dev time in solving challenging problems, which had a positive impact on ROI.
  • We initially misused Redis for persistent storage which had a negative impact on ROI because we were paying a lot for inactive users.
  • The increased performance we achieved using Redis in areas like locking helped us improve the performance of our system reducing the likelihood of system timeouts.
Our greatest gains in using Redis have come in the area of improved system performance. It boosted performance on requests by up to 5x over solutions built on our core database. We've also improved system reliability using Redis features like expiry, which has helped us mitigate risks associated with data corruption when system errors occur.
Yes - We previously used MongoDB and Memcached to do caching and locking. However, we found Mongo to be slower than Redis and Memcached to be less reliable than Redis prompting our switch.
  • Product Features
  • Product Usability
  • Product Reputation
The single most important factor in our decision to go with Redis came down to the performance it provided. No other mature products could match what we could get with Redis.
We've found our greatest development architecture benefits in using Redis have come from the many tools available for those using Redis. It is supported by multiple languages and libraries. We started with Jedis and later moved to Redisson for internal development, we've also found a number of tools like distributed caching offer the option of being seamlessly built over Redis.
We initially used Memcached for some of the caching and locking solutions we now use Redis for; we found that for the purposes of our system Memcache could not match up to Redis for performance. We also found Redis to be a bit more reliable, but that could have just been down to our different vendors.
Redis is a great tool for distributed caching and synchronization/locking in systems with multiple instances. It also works well for non-persistent data that doesn't grow over time, for instance, you might want to use Redis to manage a queue. It's a particularly good choice for pieces of data that are frequently updated.

Conversely, due to price/data I wouldn't recommend Redis for persisted or infrequently accessed data.

Redis Feature Ratings

Performance
10
Availability
9
Concurrency
9
Security
9
Scalability
9
Data model flexibility
5
Deployment model flexibility
Not Rated