Skip to main content
TrustRadius
Redis™*

Redis™*

Overview

What is Redis™*?

Redis is an open source in-memory data structure server and NoSQL database.

Read more
Recent Reviews

TrustRadius Insights

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 …
Continue reading

Set up & forget

7 out of 10
May 08, 2021
Incentivized
We use it to manage & control user sessions in a Tomcat based web application programmed with Java. It's used in both production and …
Continue reading

Redis Review

9 out of 10
February 03, 2020
Incentivized
Redis has been a vital component in our design, it's usage is mainly for caching API requests, but it also extends to other applications …
Continue reading

Redis is awesome!

9 out of 10
November 23, 2019
Incentivized
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 …
Continue reading
Read all reviews

Awards

Products that are considered exceptional by their customers based on a variety of criteria win TrustRadius awards. Learn more about the types of TrustRadius awards to make the best purchase decision. More about TrustRadius Awards

Popular Features

View all 7 features
  • Performance (69)
    10.0
    100%
  • Scalability (69)
    9.4
    94%
  • Availability (69)
    9.0
    90%
  • Concurrency (68)
    9.0
    90%

Reviewer Pros & Cons

View all pros & cons
Return to navigation

Pricing

View all pricing

Cloud

$388.00

On Premise
per month

Entry-level set up fee?

  • Setup fee optional
For the latest information on pricing, visithttps://redislabs.com/pricing

Offerings

  • Free Trial
  • Free/Freemium Version
  • Premium Consulting/Integration Services
Return to navigation

Features

NoSQL Databases

NoSQL databases are designed to be used across large distrusted systems. They are notably much more scalable and much faster and handling very large data loads than traditional relational databases.

9.2
Avg 8.8
Return to navigation

Product Details

What is Redis™*?

According to the vendor, Redis is an in-memory multi-model database that supports multiple data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability and automatic partitioning with Redis Cluster.

Redis combines in-memory, schema-less design with optimized data structures and versatile modules that adapt to your data needs. The result is an adept, high performance, multi-purpose database that scales easily like a simple key/value data store but delivers sophisticated functionality with great simplicity, according to the vendor.

Redis also enables data persistence and high availability through replication and backups. Redis Enterprise is built from the ground up to serve as a system of record for any application.

*Redis is a trademark of Redis Ltd. Any rights therein are reserved to Redis Ltd. Any use by TrustRadius is for referential purposes only and does not indicate any sponsorship, endorsement or affiliation between Redis and TrustRadius.

Redis™* Features

NoSQL Databases Features

  • Supported: Performance
  • Supported: Availability
  • Supported: Concurrency
  • Supported: Security
  • Supported: Scalability
  • Supported: Data model flexibility
  • Supported: Deployment model flexibility

Additional Features

  • Supported: Integrated modules
  • Supported: Active-Passive Geo Distribution
  • Supported: Cluster Architecture
  • Supported: Linear Scaling
  • Supported: Durability
  • Supported: Backup and Disaster Recovery
  • Supported: Reliability

Redis™* Screenshots

Screenshot of Screenshot of Screenshot of Screenshot of Screenshot of Screenshot of

Redis™* Video

Why Redis?

Redis™* Integrations

Redis™* Technical Details

Deployment TypesOn-premise, Software as a Service (SaaS), Cloud, or Web-Based
Operating SystemsWindows, Linux, Mac
Mobile ApplicationApple iOS, Android, Windows Phone, Blackberry, Mobile Web
Supported CountriesGlobal
Supported Languageshttps://redis.io/clients

Frequently Asked Questions

Redis is an open source in-memory data structure server and NoSQL database.

MongoDB, Amazon ElastiCache, and Couchbase Server are common alternatives for Redis™*.

Reviewers rate Performance highest, with a score of 10.

The most common users of Redis™* are from Mid-sized Companies (51-1,000 employees).
Return to navigation

Comparisons

View all alternatives
Return to navigation

Reviews and Ratings

(224)

Community Insights

TrustRadius Insights are summaries of user sentiment data from TrustRadius reviews and, when necessary, 3rd-party data sources. Have feedback on this content? Let us know!

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

Users recommend the following for Redis:

Consider other cache options before choosing Redis. It is advisable to try out other caching solutions before jumping to Redis, even though it is a great tool for highly distributed caching.

Understand the purpose of Redis in your implementation. It is important to have a clear understanding of how Redis will be used in your specific application. Don't assume that it will work straight out of the box. Evaluate data structures and choose a model that allows for faster query times.

Use Redis for specific use cases. Redis shines in certain areas such as synchronizing states across instances and handling user sessions with Node.js. It can also be a good alternative for relational data when speed is of utmost importance. However, users caution against abusing Redis and recommend using it in a reasonable way.

Overall, users believe that Redis is a valuable tool for fast reliable storage and caching, particularly for enterprise applications. However, they also advise considering other key-value stores depending on the specific use case at hand.

Attribute Ratings

Reviews

(51-75 of 75)
Companies can't remove reviews or game the system. Here's why
Guljar Prasad | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
We are using Redis for one of our clients. We wanted to find a way to handle huge amounts of data for every user search and their MySQL was not able to handle it quickly. We were discussing going more toward NoSQL. After more R&D, we chose Redis. Now it is handling data in an excellent way. It's for a travel product where we are searching hotels and flight for queries given by users, and Redis is rocking here.
  • Handles huge data without any loss
  • more number of request at same time
  • node replication
  • Since this is in-memory database but when you use it as persistence DB then pricing will increase.
  • Does not support query like SQL
Score 9 out of 10
Vetted Review
Verified User
Incentivized
In our project (high load web application with 10k+ users) we used Redis as a user session store, as a distributed cache for web front end servers (with PubSub notifications for changes propagation), and for notification service.
  • PubSub notifications: easy to use and just works.
  • Redis has a lot of different data structures and it's easy to find the best one for any problem.
  • Simple lightweight protocol.
  • It just works and works fast!
  • Single threaded nature of Redis can hurt if you not following best practices. For example, small values, don't use heavy blocking commands.
  • Expiration can be set only on a key level, and cannot be set for a hash item.
Best scenarios: distributed caching, session storage, and PubSub scenarios in the distributed environment.
Bagaskara Wisnu Gunawan | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Redis is a vital part of our organization as it enables us to process a whole load of queues that our tools have to process. It provides so much value for us since most of our tools require queues to call APIs, etc. We used Redis because of its simplicity of setup and its fast performance. We loved Redis and sure you'd love it too!
  • Quick and Easy Setup
  • Fast Performance
  • Does its job well!
  • Setting up a cluster in Redis is a bit confusing and hard for the first time.
It simply has a lot of use cases, but, for our case, we always use Redis for our Laravel queue driver and also for our application's cache driver because it runs so fast and we just couldn't ignore that. We use Redis for dispatch Jobs, storing the cache, working on queues, etc.
Score 10 out of 10
Vetted Review
Verified User
Redis is our primary caching database. We cache most of our intermediate results for backup and scan operations using Redis. Of late, we have also been using it as a message queue. The performance is excellent and features like automatic failover and cluster management are very helpful. All necessary data structures like lists, maps, etc. are supported.
  • Automatic failover
  • Exhaustive set of data structures
  • If you want some simple messaging service, Redis pub/sub is excellent.
  • It's difficult to understand the use cases initially. The website should talk about "why Redis" first, then "how".
Caching is its primary use case. If you need lightweight pub/sub support, then Redis is good.
Roberto Luna Rojas | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
We are starting to move towards using Redis as our primary storage for performance and simplicity reasons. We have been using it for the last 5 years as a Caching and Session storage mechanism, but last year we started to implement it across multiple services.
  • High Performance. Compared to other similar technologies Redis is blazing fast.
  • Built-in Data Structures. Redis facilitates the creation of Counts, Leaderboards, & Logs.
  • Scale Out. Other technologies claim to do Active-Active replication but while rebalancing, the Cluster goes irresponsive. With Redis, this does not happen and requests are still being served.
  • Management console still not quite polished.
  • No built-in GUI for Debugging keys and values.
  • Pricing model.
Redis is well suited for applications with well-defined data usage within the NoSQL space, that is counters, queues, leaderboards, time-based, key-value hashes, or for anything that requires many secondary indexes. Still, for a tabular view, a relational DB would make more sense. In the case of full-blown JSON lookup, maybe other NoSQLs could perform as well as Redis.
Score 8 out of 10
Vetted Review
Verified User
Incentivized
We are a small company with a small engineering team. We are actually DevOps based entirely and working actively with Redis as a key-value storage and a backing service for caching. We love its stability, trustworthiness, and speed.
  • Basic Storage
  • Caching
  • Queues
  • Scripting is sometimes cumbersome
Redis is well suited when a multithreaded environment is needed or you're low on memory resources.
Score 8 out of 10
Vetted Review
Verified User
Incentivized
We have a country wide application for generation of an Electronic Way bill for the specific consignment/movement of goods from one place to another, either inter-state or intra-state and of value more than INR 50,000, required under the current GST regime in India typically showing the names of the consignor and consignee, the point of origin of the consignment, its destination, and route. We have specifically used Redis for Caching of user profile information used for authentication of the supplier, recipient, and the transporter. Redis has also been used to cache the Items and their Codes. In the future we also propose to use Redis for authentication and session management. The e-Way Bill replaces the Way Bill, which was a physical document and existed during the VAT regime for the movement of goods. The countrywide roll-out of the e-way bill system is targeted to reduce tax evasion with proper invoicing of the goods and to stop the practice of bogus invoicing of goods. It also plays an important part in the tracking of Goods with the use of robust technology like (RFID) Radio Frequency Identification Devices. Redis was implemented as a cache for all transporter data stored on the GSTN (Good and Services Tax Network). When a transporter entered their GSTIN (Goods and Services Tax ID Number) number into the system, their data was fetched from the cache and used to populate the bulk of the e-way bill.
  • Adoption of Redis, gave us the ability to realize our goal of digitally transforming the process of filing returns, generating bills, and tracking the movement of goods across states.
  • Using Redis Enterprise, we were able to reduce the time it took to generate an e-way bill by more than 85%. Just as important, we were able to dramatically reduce the burden on our SQL database and API calls.
  • Highly available persistent caching solution recognized for its seamless compatibility with Microsoft SQL Server and Consistent end-to-end response times below 40ms.
  • Flexible data structures and commands for efficient application in use cases beyond caching.
  • Session management is currently being handled in memory by our SQL server, but as the number of concurrent sessions during peak times moves from today’s average of 50,000 to an expected 100,000, we’ll need to implement more efficient session and authentication management likely within Redis Enterprise.
  • Manage the complexity of data in many different structures ranging from relational, to logs, to raw text. Handling of Streaming data, large volume of transactions/requests and data movement.
  • The functionalities like Joins (inner/outer join), Set operations (Union/Intersect/Minus), Transactions, Full ANSI SQL support, Constraints (like RDBMS) are not easily supported.
Redis has its advantages in the 3Vs viz. Volume – Scale from TB to Zeta Bytes (Billion TB), Variety – Manages the complexity of data in many different structures –Ranging from relational, to logs, to raw text and Velocity –Streaming data, large volume of transactions/requests and data movement. Redis is ideally suited for data caching, authentication and session management. Redis' advantage is in handling Scale, Performance and Flexibility (schema-less). It has also has its advantages in Replication of every data element to another node and Sharding and Partitioning so as to Distribute data across nodes in a "share nothing" approach.
prakash ps | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
We use redis and recommend for our clients. The key areas Redis outsteps all others are:
1) Scalability
2) Unique and flexible key value db structure
3) They use Ssd Flash for their instances

They also provide session management capabilities to be implemented in any huge projects without much headache. Their db instance also provides a high number of read write per second, which makes it a leader.
  • Session Management
  • Key value pair DB structure
  • High scalability
  • Flash instances
  • Failover Replicas
  • Data Consistency
Redis is particularly suited when you want to mesh millions of data and get a unique statistics or a child dataset out of it. Then Redis is the only viable product with the highest number of read and write per second. It increases my speed drastically so that I am able to put 10k records per second and successfully retrieve at same speed.
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Redis is used as a cache layer for our high read data as well as a database layer for write-intensive data. It's used in the entire engineering department as the de-facto caching layer for all services being built. The read and write speeds are unmatched because of the simplicity of the design.
  • Simple Key Value storage
  • Easy interface compared to other databases
  • Reliable performance characteristics
  • Redis needs better distributed support. I know this is not the point, but a distributed Redis with some CAP tradeoffs would be useful
  • Redis should be more clear on its pooling capabilities. Should you use a pool or just use a single connection?
  • It would be nice if Redis had a better CLI
Good for key value storage. Simple as that. If you need something that has relational data or need more complex data structures, don't use Redis.
If you need something that can be written and read by multiple services, that is as fast as possible, use Redis. The simplicity is its biggest strength, and making it more complex will just ruin the product.
April 04, 2019

Redis Labs is great!

Score 9 out of 10
Vetted Review
Verified User
Incentivized
Redis is used in our organization to cache data for fast data retrieval. It is being used across the whole organization. Redis reduces our API response times when requesting data.
  • Fast.
  • Reliable.
  • Regarding Redis Labs, the UI is not intuitive.
  • Redis Labs needs an API so I can automate tasks programmatically.
Redis is well suited if you need to cache data for fast retrieval.
March 27, 2019

Redis Review

Score 10 out of 10
Vetted Review
Verified User
Incentivized
Redis is being used extensively by our Web/Cloud department, of which I am a part of. We use Redis essentially for cache'ing but we pretty much try to use it for as much as we possibly can. Almost any information retrieval that we can offload to Redis will save as money, as well as reducing our response times. That is, any time we know that our data requirements are simple enough for a key/value setup to suffice, we use Redis - and in my opinion, anywhere we do not do this is a mistake.
  • Response time - the time taken to store or retrieve something from Redis is minuscule compared to most of the alternatives that we are aware of.
  • Value for the money - every time we offload data storage to Redis it saves us money, compared to using something like MongoDB or AWS.
  • Better documentation.
It is well suited for cache'ing or anything involving simple key-value data storage.
victor pease solano | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User
Incentivized
We used to have most of our web apps accessing our database backend directly, and this was very resource consuming, especially in catalogs and details. This was more critical in our e-commerce storefront. With Redis, we were able to update our webs in order to cache all the queries with resources displayed frequently. In that way, we freed our servers of a huge load. The auto-expire function lets us use the Redis cache and not have to continuously monitor it.
  • It's an incredibly fast database with restrictions. It only has key-value combinations but good anyway.
  • For caching, at the first request-> write to the cache and read from it since DB query is expensive.
  • Persistence, It's like having your session active any time you want.
  • Software-based so the high availability configuration is a little bit tricky.
  • The expire function is manually managed, so keep all your variables well documented.
  • Better to create a Proxy service to deal with Redis values in order to isolate your app from the complexity (not too much anyway).
Redis is a specialized key-value store, so it's best suited for session variables storage and cache'ing. Redis helps you identify database queries that are repeated exactly the same (for instance, combo lists, product catalogs, configurations, etc).

Redis is atomic, that means you don't have to deal with variables to being blocked to ensure concurrency. So it's great for dashboards, leaderboards, and apps like that.

Redis is not a common database, so don't use it as your repository for data entry or visualization. Yes, it's fast but not that way.
Score 10 out of 10
Vetted Review
Verified User
Incentivized
We use Redis for cache storage for data that we need to serve quickly. It is used across the whole organization. It has helped scale up our company and continue to server larger amounts of traffic. Getting data quickly is always a difficult challenge while growing your company, and Redis allows us to serve users quickly and efficiently.
  • Simplicity combined with power. The Redis API is very simple to use, but it also excels at handling large amounts of traffic.
  • Redis is scalable and can seamlessly scale outwards to store and retrieve larger amounts of data.
  • Redis has an incredibly strong community and tool suite. There is an ample amount of tutorials and connections, making it a great choice regardless of your tech stack.
  • It would be better if there were some more advanced tooling. It doesn't feel quite as robust as some data storage options.
  • It's unclear how much the core team is doing to advance the product. I'm not a hardcore follower, and there is little news about what is happening.
  • Sometimes things can feel a little too abstracted. I've used it for a long time, but rarely know what is happening underneath the hood.
Redis is well suited for any startup or larger company that wants to cache data and scale it out seamlessly. Cacheing is needed when you have data that is frequently accessed or when your queries are expensive. Redis allows you to store objects in memory making it fast and efficient to access them and server the data to large amounts of users without clogging up your server.
Score 10 out of 10
Vetted Review
Verified User
Incentivized
In our organization, Redis is being used as a temporary cache for ephemeral data. This solves the problem of needing to store cached data in a centralized place that is accessible by multiple devices and can be retrieved quickly. In general, nothing is stored in Redis that can't be reproduced from another resource on demand. For example, if we have a process that creates summaries of data from multiple data sources and is costly or very time consuming, we would cache those results in Redis for an appropriate period of time to make it available to other applications in a timely manner without having to rerun the original process. This reduces the time/cost normally incurred to review that data set.
  • Speed: Redis is, generally speaking, very fast. I typically place Redis somewhere within my internal network so the major factor in the speed of retrieving data is the size of the data cached.
  • Configuration: Redis is very configurable to the point where you can utilize it as simply as a single instance running with no backups to a multi-tiered cluster running with permanent storage, data backups, and replication.
  • Documentation: Redis has done a good job of documenting all of its capabilities as well as providing guidance in terms of what client libraries exist to help the developer's application(s) interface with it.
  • I, as a rule, don't use Redis for persistent data, but it would be nice if Redis had an option to persist data to another data source such as MySQL or PostgreSQL.
  • This is more a wish list item than a con but, it would be nice to have the ability to configure Redis as a write-through proxy. This is generally done by having a processor processes write-data to Redis, another process then reads the data from Redis and writes it to a database, and then finally the keys that have been written are flushed out of Redis.
Redis is well suited for storage of ephemeral data that could be used by multiple processes. For example, a multi-server website that sits behind a load balancer could use Redis to store session information that might typically be stored on the filesystem. This would allow all the website nodes to share session information without having to resort to sticky sessions.

I generally try to avoid using Redis as a primary data source for critical data.
D. Marshall Lemcoe Jr. | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Our organization uses Redis for two main tasks at our organization. First, Redis is used as a traditional in-memory key/store warehouse for a cache system that contains over 400 million items, on average. Using Redis with modern DDR4 memory, we have seen incredible latency savings when it comes to keystore look-ups. Second, we use Redis to manage a distributed queue, such that numerous worker nodes can subscribe to tasks and complete them in an organized way.
  • Key/Value datastore. Redis is incredibly fast when it comes to simple "phone book-style" lookups.
  • Queue orchestration and management when there are many nodes in a system that need to all be on the same page.
  • Dead-simple installation process. It takes about 3 minutes to install Redis and get the service started.
  • I am unable to come up with any legitimate cons, but one thing to note is that Redis, by default, will be installed with no password, leaving it open to the world if the host is not locked-down with a firewall.
Redis is the perfect tool if you are looking to increase the speed of a key/value datastore or cache, as well as centralizing your queue management tasks to a dead-simple and incredibly fast database.

That said, it is not well-suited to tasks that have historically been reserved for relational datastores like MySQL or Postgres. Redis lacks relational database features and does not have a dynamic language like SQL to interact with.
March 19, 2019

Redis Review

Score 9 out of 10
Vetted Review
Verified User
Incentivized
Redis is, at a high-level, an in-memory data store largely setup at a key-value store (although it can persist data to disk, and supports more complex data structures). Redis is generally used as part of a cache layer and has a number of additional use cases that it fills well (messaging and task queues).
  • Very, very fast due to the in-memory data store, which makes it highly scalable on rational-sized hardware.
  • Fills a number of different use cases: can build message broadcast, task queues, sorted sets (i.e. leaderboards), and database caching all with the same tool.
  • A robust third-party ecosystem of deployment options (like AWS) and libraries in a number of common programming languages.
  • Can be difficult to set up as it scales past a single write node.
  • While Redis can preserve state by writing to the file system in a couple of ways, it can still be cumbersome to standup a cluster with history.
For caching, task queues, and messaging, Redis is amongst the best implementation choices. Redis shines when very high throughput is required and very low query times are a necessity. Redis is also a great choice for storing data that can be automatically removed once it expires and should be stored somewhere else. While it is a data structure store, it is not a good choice for highly structured data that should be written to a disk instead (where a traditional RDBMS or NoSQL option is likely a better choice).
March 13, 2019

We love Redis

Score 10 out of 10
Vetted Review
Verified User
Incentivized
We use Redis for caching for our APIs. It's been rock solid since we made the switch from Memcached to Redis. Memcached was starting to be problematic for us, so Redis was a natural next choice for our caching needs. Aside from being stable and "just working" the tooling is far superior than other caching services I've used. It can be deployed easily as a docker container as well.
  • Cacheing APIs - this is where it shines for us
  • Quick in memory database of key value pairs
  • The tooling around Redis provides insight into what you are caching and provides easy methods to clear some caches and not all
  • New versions of the tooling are not easy to install compared to previous generations
Redis provides a great caching layer plain and simple. It's rock solid and just works. I'm not sure if my Redis instances have ever gone down.

I'd highly recommend it for caching or in memory key values stores. I'd consider other options if you have to store your data long term.
Adam Stern | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
We are currently using Redis to store sets of object-based information and lists. We query an external system and generate lists in Redis based on the query responses. Because Redis is great at set operations this speeds up the time it takes to make set-based calculations. This Redis cluster supports the a large aspect of the whole application.
  • Redis is easy to install and maintain.
  • Redis is very fast, especially with set operations.
  • Redis is cost effective.
  • Clustering, especially with multiple write nodes, can be difficult to configure.
  • Configuring extremely high availability can be difficult.
Redis is great at fast operations, especially set-based operations. It is great as an object storage mechanism, such as a cache server or a fast key-value object store. Redis is easily installed and maintained, and setting up clustered instances isn't too terrible. Because the basic installation is open source, it is easy to experiment with before deciding to go with Redis long term.
December 13, 2018

Redis is goooood!!!

Rahul Chaudhary | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Redis is a basic, but extremely fast, key-value storage. We made a decision to use Redis because our use case didn't require a full blown database. We needed something to hold the data temporarily and loss of that data wouldn't lead to any issues. Redis was perfectly fitting our use case, and since then we are a bunch of happy Redis users.
  • Being a non-SQL database, it does not require any structure. Perfect for unstructured data like key-value pairs.
  • Redis is extremely fault tolerant. As soon as we write a record, it gets saved to the disk, without any performance issues.
  • Redis is very lightweight. In docker it takes less than 30MB, so it is so easy to run multiple containers in cluster without taking too much power.
  • Redis has a very good query API, and they are in their website each operation is clearly mentioned with its time complexity. This gives you a clear picture of performance. We didn't in fact do any performance testing because we trusted their site with all the information.
  • Redis has a very strong community around it. We have never found an issue for which a solution didn't exist beforehand.
  • A cluster in Redis was a little hard to understand and deploy, but this is a one time thing to learn, no worries.
Redis is extremely well suited for storing key-value kind of data. Flat and static values are around which they are built. There is no headache of indexing, or maintaining formats like other databases have.

I can also vouch for Redis's pub/sub notification. You can basically set expiration or event hooks around your keys, and Redis will trigger a notification for those events.

But Redis is ill-suited for treating it as a proper database. For instance, this is not a replacement for elasticsearch or mongo.

To assess if you need Redis, in my opinion, just think if you need to query values. If yes, don't use redis. If you are only concerned with key operations, then go with Redis.
Score 8 out of 10
Vetted Review
Verified User
Incentivized
I used Redis in the context of an Airline company middleware implementation. At that time, we were looking for an efficient caching solution with the possibility to distribute data across nodes (i.e. sort of data grid without the complexity of a data grid).
Redis allowed us to build very fast a small cluster of nodes (4) serving as a cache for storing web sessions.
Because of additional features of Redis (pub/sub, in memory Keystore), Redis was also identified as non-critical storage for some data.
  • Redis is easy to learn and concepts are very simple. It's an in-memory storage with regular snapshots for data resiliency.
  • Redis offers the possibility to act as a cache with limited but strong eviction set policies. LRU is the most common one.
  • The pub/sub feature of Redis is an interesting alternative for efficient and fast data distribution when we don't need a central broker such as JMS. Obviously, it requires some analysis before choosing between the bunch of providers (JMS, Kafka, MQTT, AMQP, Redis, etc)
  • Redis is sponsored by Redislab which limit its functionalities. This is normal but they should push for a graphical tool for Redis monitoring. This tool is available for the enterprise edition, it would be nice to have a core version for the community
  • I don't know if Redis is available in containers, this might be interesting to have such capability
Redis fits perfectly when the cache is required or when fast data access is a criterion. With the community edition, we can build very fast and efficient cluster of data nodes with adequate persistent policy.

I don't recommend Redis if you are looking for something else than a key/value store. Even if Redis claims to be a "data structure server", you might face limitations while dealing with other data structures.
Score 9 out of 10
Vetted Review
Verified User
Incentivized
Redis was used internally by software development teams as part of a web application stack. Each development team was free to use alternate technologies, including none at all, but for teams with performance requirements, Redis was chosen to provide an in memory cache layer buffering web requests from directly hitting the database.
  • In memory caching
  • Fast read and write access
  • Data structure based API
  • Clustering and sharding
  • Self managing for high availability
  • Failover
Redis is great for application cache, internet cache, sharing sessions across stateless web servers. It also works well as a serializing channel for stream data. It has a pub-sub layer as well, which can be used to facilitate peer to peer data sharing. Because it's built as an in-memory store, it is not suitable for data durability.
Score 8 out of 10
Vetted Review
Verified User
Incentivized
We have tried using Redis to move from a relational DB to a key-value logic. In view of the use of a DB not SQL, it is certainly performant even if unlike other SQLs, it requires a little more reasoning about the proper analysis of the key value to be used and the way in which they are then interrogated.
  • key - value logic
  • no SQL structure
  • really speedy queries
  • need an initial implementation
  • without a correct key - value queries do not perform
  • need a change of the actual application to move from SQL to Redis
If you want to increase your database queries changing from SQL to Redis probably you can optimize your performance using in-memory cached by Redis, doing this you can have a better workload on SQL servers but you have to configure correctly your complete infrastructure. Furthermore, you need a little bit of time to test your calls with a stress test.
Nitin Pasumarthy | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
We use Redis for low latency repetitive point queries. To break it down:
  • Low latency: As it is in memory, saves on I/O
  • Repetitive: As part of ETL we use it to address resolution, .i.e. given an address, find a representative lat long for it. As millions of rows are ETLed every day, there is high chance that they repeat. Having in-memory helps again
  • Point queries: WHERE age BETWEEN 10 and 30 is a range query and WHERE age = 15 is a point query. We use it only for point queries
  • When dataset is small enough to fit in-memory and get full benefits of reduced I/O
  • Need of rich data structures for complex querying
  • Speed of in-memory store and durability by disk at the same time
  • Declarative querying like SQL
  • Tools for monitoring and identifying performance bottlenecks
  • Key schema design can be tricky and heavily impacts the performance (leading to key scans)
Good for:
  • Low latency queries are a must
  • Frequent point queries as it is a key-value store
  • Use awesome Redis Modules (Redis Search, Redis Neural Net, Redis ML, Redis-Secondary, Redis Graph)
Not suitable for (as far as I know):
  • When values are complex objects and not simple data structures. Document stores are better for those work loads
  • Huge data and not feasible (due to budget constraints) to scale up RAM
Score 10 out of 10
Vetted Review
Verified User
Incentivized
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.
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.
Adam Lauer | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
We use redis as a cheap, available, quick storage option. Think of it as a cache on steroids. It lets us store mass amounts of data and access it quickly. The best part is the access cost is not per demand, you are just paying what is hosting the redis clusters.
  • Quick lookup/interaction with data
  • Excellent key-value storage where everything is treated as a hashtable
  • Cheap alternative to other storage solutions
  • Mass amounts of storage is supported
  • The backup and recovery solutions are not ideal; recommend backing it with a more durable option
  • The spin up to find an optimal setup for performance takes time and testing
  • No super user friendly GUI application to interact with the data
This is best for needing to access data at a high volume quickly at a low cost. This is not the best option if you need high durability of the data and cannot suffer any data loss. Redis is perfect for key-value situations of data including a key being a hash and the value being a huge json object. It is not good when you need a more relational schema.
Return to navigation