Redis is great when you use it correctly.
August 27, 2019

Redis is great when you use it correctly.

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

Overall Satisfaction with Redis

We use Redis in many capacities. We use it as a caching layer, as a shared heap, as a datastore for lock contention, as a queue, and as a primary datastore. It provides low latency storage that can be used to persist data between web requests. The data structures available allow us to use it to manage contended data in a safe and predictable fashion.
  • Fast key value store
  • Serializable concurrent usage (by virtue of being single-threaded)
  • Wide library support
  • Failover is terrifying and its safety guarantees are misleading
  • Large sets (> 500k entries) have noticeable performance degradation on what is advertised to be a O(1) query pattern
  • Hardware costs are high
  • It allows us to better leverage DynamoDB and other large scale databases. We can do the contentious logic in Redis and then flush to our larger datastore.
  • Using Redis as a shared heap allows us to easily implement standards such as Oauth2 and other stateful protocols without having to do session pinning. We can treat our application servers as stateless and enjoy the simplicity that provides.
  • Using Redis as a write-back cache to absorb spiky writes to our Postgres database has led to cost savings.
  • Price
  • Product Usability
  • Prior Experience with the Product
  • Vendor Reputation
  • Existing Relationship with the Vendor
The flexibility around a shared pool of servers where we can deploy N isolated Redis databases is really valuable to us. We can have the general isolation we desire without having to rack up costs.
We prefer DynamoDB whenever possible. We have more predictable performance at the tail end, better isolation and cheaper costs per GB of storage.
Amazon Aurora, Amazon DynamoDB, Amazon Simple Queue Service (SQS)
If you need a caching layer it's great. I am hesitant to use it as a canonical data store. If you're okay losing data, then it's hard to beat. Additionally, cold/hot data patterns are not very useful in Redis, as all the data still has to reside in memory. You'd be better off with Redis as a hot cache and storing cold data somewhere better designed for that.

Redis™* Feature Ratings

Performance
9
Availability
7
Concurrency
7
Security
3
Scalability
3
Data model flexibility
7
Deployment model flexibility
3