TrustRadius Insights for Redis Software are summaries of user sentiment data from TrustRadius reviews and, when necessary, third party data sources.
Business Problems Solved
Redis has proven itself to be an invaluable tool in a wide range of use cases. Users have found Redis to be exceptional as an efficient caching solution, allowing for the distribution of data and storage of web sessions. This capability has led to significant improvements in performance and reliability, making it a go-to choice for many backend development teams. Additionally, Redis's versatility as a NoSQL key-based database store has made it a preferred option for organizations working alongside other databases like PostgreSQL and Memcache. Its ease of use, stability, and reliability have made it a popular choice across multiple departments within organizations.
Furthermore, Redis has been leveraged in various R&D projects to experiment with its implementation in different modules. Starting with cache management, users have been able to extend its usage to address specific project needs effectively. In these experiments, Redis has served as a traditional in-memory key store warehouse for cache systems with a vast number of items, resulting in substantial latency savings. Its ability to manage distributed queues efficiently has also made Redis an excellent choice for tasks that require multiple worker nodes to subscribe and complete tasks. The flexibility Redis offers by enabling users to store sets of object-based information and lists further improves performance through set operations.
In addition to these use cases, Redis has become synonymous with simplicity and speed when it comes to basic yet fast key-value storage solutions. It has been extensively adopted in organizations, including game studios, where it is used for storing user data, session data, game data, and indexing information. For example, Redis Enterprise has been utilized to support backend systems for casual games by providing sub-millisecond response times and facilitating clustering, sharding, backups, and monitoring.
Moreover, customers have found Redis instrumental in addressing various challenges such as big data processing, handling temporal data, managing session state, and even as a caching service in microservices environments. Its ability to provide data consistency, concurrency management, and high-speed operations has proven invaluable. Additionally, Redis has been a reliable tool for caching solutions in e-commerce storefronts and data visualization applications. Users have reported reduced server load and improved performance as a result of implementing Redis as a cache.
Redis has also found success as a buffer cache, allowing for faster data retrieval and improved overall database performance. Its role in processing queues, calling APIs, and supporting vital organizational workflows has been recognized by customers who rely on its stability and speed. Furthermore, users have implemented Redis across various domains to manage user timelines, build notification systems, and implement microservices architecture
It's our primary caching solution used to store request-ids, user profiles, message ids for de-duplication, etc. We have about 25 clusters of Redis Software running on Elasticache and it scales without any issues.
Pros
Easy to integrate, simple data models.
Highly performant at significant scale.
Easy to deploy and manage.
Cons
Replication
Durability
Clustering
Likelihood to Recommend
Well-suited: 1. Simple k-v caching. 2. Any data model that can use hashmaps, streams, and pub-sub systems.
Not Suited: 1. Any need of durability 2. If your primary storage is SSD.
VU
Verified User
Vice-President in Engineering (Computer Software company, 501-1000 employees)
Redis is used across all the organization. It is used by our main games to store user data, session data, game data, and indexing some information related to it.
Having backend systems that support casual games, like Trivia Crack, must support instant virtualization and big spikes that can happen during holidays, Christmas, and so on. Consequently, it is important to have a sub-millisecond database to be able to increase the requests rate very rapidly.
Pros
Answer requests at sub-millisecond latency: by having all the data in memory, the latency has no comparison to other disk based DBs.
Simplicity: it is incredibly simple and straightforward to use. You can download Redis and start using it during the next five minutes.
Reliable & scalable: when working with a cluster (and if you have a proper sharding strategy), your DB can scale to pretty high numbers and not to die in the middle of any spike.
Cons
Cost: by having all the data in memory, it can be very expensive. There should be an option for having some data stored on disk, at least initially (and with the tradeoff of some higher latency).
Lack of some basic permissions: there should be a way of having a user with restricted commands (i.e.: no keys *, now write commands, etc).
Multi-module available on the same Redis instance (as far as I know, this is not possible yet).
Likelihood to Recommend
Everywhere speed and scalability is a must, Redis is the way to go. On the other hand, if you want to store huge amounts of data and do not need an extremely low latency, Redis might be too expensive for you. Also, if you are looking for some transactionality and consistency in your data, remember that Redis is a NoSQL database.
We're using Redis in many ways and across different departments in the organization. The most simple use case is to store locks so the backend services can reject duplicated API requests. A little more advanced use case is to use it as a buffer for queues of messages or requests. We're also exploring ways to use the new Graph type to support Data Science models in development.
Pros
Redis has many data types that suit a variety of use cases such as caching, message queues, graphs.
Redis is an open-sourced tool with a growing community, as well as 3rd party support (Amazon managed version) if you need additional help with the set-up.
Both the clients and the command line tool are easy to use and well-documented.
Cons
Scaling has always been an issue with Redis. Routing to shards is not automatic.
There's no GUI for managing the keys and values stored in Redis. The command-line tool is useful but not friendly to non-engineering users.
The data types as in data structures have many choices, but inside of the key-value pair, the content is always stored as a string.
Likelihood to Recommend
Redis is a tool when you want to get a key-value store up and running in production quick without a lot of constraints. And it will keep the customer happy for a considerably long time. However, if the scaling is critical, Redis might not be the best choice available in the market.
VU
Verified User
Engineer in Engineering (Internet company, 501-1000 employees)
Redis is being used as our main nonSQL database store. We run PostgreSQL as the main relational data store, Our entire platform used within the business unit utilizes Redis and is also customer facing. The stability, reliability and scalability are great and it's also easy to easy to set up and implement.
Pros
Great reliability and great fail over capabilities
Easy to set up, implement and deploy
Can scale as you grow
Backups to AWS S3 are supported and are very easy to set up
Cons
Better UI interface for less technical support personnel
Wish Reids had a Chat support option
Better documentation in a wiki format
Likelihood to Recommend
Redis is great at at reducing your reliance on SQL and the cost associated with running a SQL infrastructure.We have been able to scale out and improve performance on database requests. Reliability has also great improved over running a SQL infrastructure.
VU
Verified User
Administrator in Information Technology (Health, Wellness and Fitness company, 501-1000 employees)
We use Redis in our back end messaging platform for database, cache synchronization functions. Redis is being used throughout our entire organization and is the basis for our EMR messaging platform.
Pros
Great fail over capabilities for optimal up time
Very easy to set up and get running
Create backups to AWS S3
Clustering for greater performance is very easy
Able to scale is easy to set up and can build with your needs
Cons
Complete data sets tend to have some difficulty. But that's mostly on the type of code you're running
Only one module can be active at one time. Wish you could run multiple
Likelihood to Recommend
Redis is great for any organization that requires data-intensive tasks that quire records or require large sets of data. Redis has greatly improved our messaging EMR performance at reduced costs compared to if we built our own solutions. If you require fast response speeds then Redis is your provider. Great for back end data base processing.
VU
Verified User
Executive in Information Technology (Health, Wellness and Fitness company, 501-1000 employees)
Redis Enterprise helps us by making clustering, sharding, backups and some more very easy to set-up, control, and monitor. It's quite nice being able to sleep at night knowing that despite all your database is on volatile memory (RAM) or a hybrid solution (Redis on Flash), and still have the information clustered, sharded, replicated, and constantly being backed up, with just a few clicks. The support is really great, and the ease of use and set-up are also big selling points.
Pros
Ease of use and set-up.
Clustering and sharding.
Automated backups to remote storage (S3).
Cons
The documentation grows quite fast (200+ commands), perhaps they should have a most-used ranking.
Redis modules (Bloom, JSON, Search) are great, but only one can be active at a time.
Likelihood to Recommend
Redis is fast, super simple and reliable. You need minimum security measures like having your data replicated and (at least daily) backups for emergencies. If you want to have all this done automatically by a simple UI, then Redis Enterprise is a must We have been working with Redis for over 5 years and we couldn't be happier.
Redis is being used as our primary NoSQL key-based database store. In the specific platform that Redis is being used the most, we have PostgreSQL as the main relational data store, Memcache for expiring key-based caching and Redis. The entire platform used within the business unit utilizes Redis but other departments are starting to use it as well given the ease of use, stability, and reliability.
Pros
Easy for developers to understand. Unlike Riak, which I've used in the past, it's fast without having to worry about eventual consistency.
Reliable. With a proper multi-node configuration, it can handle failover instantly.
Configurable. We primarily still use Memcache for caching but one of the teams uses Redis for both long-term storage and temporary expiry keys without taking on another external dependency.
Fast. We process tens of thousands of RPS and it doesn't skip a beat.
Cons
Autoscale. We've used Redis at RedisLabs and currently on AWS with ElastiCache plus previously I've self-hosted it and there are no real options for "serverless" or an operating model whereby I'm using only the resources needed to handle my current volume, instead, everything is provisioned and sized to your highest throughput needs. For us, that's only a few hours a day where we're at our peak, the other 16 hours could run smaller hardware but the system doesn't autoscale up/down seamlessly on any of the platform providers.
Management console. Some systems such as Riak have a built-in GUI for ops or Mongo runs their own Compass product but Redis seems to entirely rely on other OSS solutions, which is great, but having a built-in tool that's lock-step with the released versions would ease any quick troubleshooting that CLI-challenged ops teams could utilize.
Redis replication is asynchronous. Therefore, when a primary cluster fails over to a replica, a small amount of data might be lost due to replication lag.
Likelihood to Recommend
Redis is great for queues (push/pop) and pub/sub. It can also be used for caching though take care of managing those expire settings and don't mix permanent keys with expired keys on the same hosts unless you want to spend some time troubleshooting unplanned evictions. When looking at open source solutions to messaging, queuing, background jobs, etc. - you'll find many solutions work with Redis out-of-the-box.
It is used for the whole organization for caching and performance. We avoid hitting the DB in a factor of more than 100x, at a lower cost.
Pros
Key-value access, very fast.
Caching - either using hashmaps or simple values.
Cons
The Python package elastic DSL is somehow incomplete.
Moving from a Python client to Redis 2 to Redis 3 is a mess.
Likelihood to Recommend
Redis is good for caching and helps you to avoid hitting the DB. It offers a key-value store where you can put references to objects or temporary values (counters) that will later go to the DB.
Redis isn't as suited for complex objects or serialized data that takes a lot of space. With the milions of users, costs would go way up.
VU
Verified User
Professional in Information Technology (Information Technology and Services company, 51-200 employees)
We use Redis to store data such as ID sessions, card tokens. We have a cluster with three servers in three different environments, and it's working very well.
Pros
Very scalable.
High performance.
Easy to use.
Cons
Management tool could be better.
Books in Spanish.
Likelihood to Recommend
The best scenario for Redis is where fast response speed is required to have an optimal performance of the applications, or when it is required to have data that is consulted on a recurring basis.
We currently use Redis in only one core internal application, however, this application handles around 90% of our company's internet traffic. This application load balances requests intelligently across multiple downstream server clusters. Prior to this, we used to frequently run into bottlenecks at the DB layer when web server scaling alone was insufficient.
The great thing about this is also that each cluster can be running a different version of our application allowing us to maintain a high level of robustness for our larger enterprise customers, while also allowing us to deploy frequently to other clusters that want the bleeding edge. With Redis, being able to determine the right cluster for the right request happens blazing fast.
Pros
FAST LOOKUPS. First and foremost, this is the bread and butter of Redis. It is our go-to for any highly performant lookups.
SCALE OUT. Helps build distributed applications that need to share data across geographies.
Cons
Better GUI clients. At the time of adoption, the choices for UI based clients were poor. Such tools are necessary for tier 1 support personnel who may not be entirely technically savvy.
Likelihood to Recommend
I would highly recommend Redis as a hosted solution. We tried self-hosting initially but gave up on that due to the overhead of maintenance. We really want to use Redis in mission-critical projects and as such, reliability is paramount. Self-hosting leads to concerns with reliability—that's best left to services for whom that is their bread and butter.