Table of contents
1.
Introduction
2.
Why Redis?
3.
Redis Features
3.1.
Rich Data Structures
3.2.
Data Persistence
3.3.
Performance
3.4.
High Availability 
3.5.
Simply Efficient and Lightweight
4.
Redis Use Cases
5.
Advantages of Redis
6.
Disadvantages of Redis
7.
Frequently Asked Questions
7.1.
What is the full form of Redis?
7.2.
How is Redis different from other databases?
7.3.
Which are the big companies using Redis?
7.4.
Which are the different data types used in Redis?
8.
Conclusion
Last Updated: Mar 27, 2024
Easy

Introduction to Redis

Author SAURABH ANAND
1 upvote

Introduction

According to the official Redis documentation, Redis is an open-source (BSD licensed), in-memory data structure store that can be used as a database, cache, or message broker. Strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperlogs, geographical indexes with radius searches, and streams are all supported data structures of Redis.

The original Redis developer, Salvatore 'antirez' Sanfilippo, initiated the project. He was attempting to increase the scalability of his Italian firm, which was creating a real-time online log analyzer. He began prototyping an initial proof of concept version of Redis after noticing considerable issues scaling specific types of workloads using standard database systems. Github and Instagram were among the first to use this technology. As a result, it's no surprise that large corporations and developers have accepted and supported this.

Redis was designed in the American National Standards Institute(ANSI) C programming language and is compatible with most Portable Operating System Interface(POSIX) systems, including Berkeley Software Distribution(BSD), Linux, and OS X, with no external dependencies. OS X and Linux are thought to be the two operating systems where Redis has been developed and tested the most, with Linux being utilized for deployment.

Also see, Multiple Granularity in DBMS

Why Redis?

It allows caching. Caching is the process of temporarily storing data in a cache. The cache is a temporary storage component area where temporary data is stored so that it can be served faster in the future. Redis is employed in this scenario.

Redis is compatible with most popular programming languages and protocols, including Python, PHPJava, Perl, GoRubyC/C#/C++JavaScriptNode.js, etc.

Redis Features

Features of Redis are as follows:-

Rich Data Structures

Redis provides five data choices for the values. Hashes, lists, sets, strings, and sorted sets are examples. The operations specific to these data kinds are provided with the well-documented time-complexity (The Big O notation). 

Data Persistence

Data persistence indicates that the data continues to exist after the production process for the specific data has concluded. In other words, saved data must be accessible even if the server dies. To be persistent, a data store must write to permanent storage (i.e., non-volatile storage such as HDD or SSD).

Performance

Redis' performance is incredibly efficient. The application offers remarkable efficiency for reading and writing operations due to its in-memory nature, a project manager's commitment to keeping complexity to a bare minimum, and an event-based programming paradigm.

High Availability 

Redis includes built-in functionality for non-blocking, asynchronous primary/replica replication to ensure high-level data availability. Redis provides a primary-replica architecture with either a single node primary or a clustered topology. This enables us to create highly available solutions that deliver consistent performance and dependability.

Simply Efficient and Lightweight

Redis is written in the ANSI C programming language and has no dependencies. The software runs flawlessly in all POSIX settings. Redis is not officially supported on the Windows platform. However, Microsoft has supplied an experimental build for the same.

Redis Use Cases

When it comes to Redis use cases, the most common things many people think of are data caching and session storage (i.e., web session). Redis provides a wide range of use cases that can be utilized and beneficial in various situations, particularly those involving speed and scalability, which is simple to handle when scaling up or scaling down.


Typical use cases for most experienced users or enterprises who have been using Redis for a long time include session caching, complete page cache, message queue applications, leaderboards, and counting, among others. Redis is also popular among big cloud providers that provide fully-managed databases, or DBaaS. Redis is used by large corporations such as Twitter; Amazon Web Services(AWS) provides a managed Redis service called Elasticache for Redis; Microsoft provides Azure Cache for Redis in Azure, and Alibaba provides ApsaraDB for Redis in Alibaba Cloud.

Advantages of Redis

Some of the advantages of Redis are listed below.

  • It's extremely fast. Faster than any other caching service available.
  • Redis is simple to use because of its ease of setup.
  • Redis supports practically all data types and provides flexible data structures.
  • Redis supports key-value pairs with a maximum size of 512 MB.
  • Redis employs its own hashing mechanism known as Redis Hashing.
  • There is no downtime or impact on performance, whether scaling up or down.

Disadvantages of Redis

Some of the disadvantages of Redis are listed below.

  • Because data is sharded according to the hash-slots assigned to each master, if the master holding some slots fails, any data written to that slot will be lost.
  • Clients connecting to the Redis cluster should be aware of the cluster topology, which results in client configuration costs.
  • Failover occurs only if the master has at least one slave.
  • Because it is in-memory, it takes a large amount of RAM and should not be used on ram servers.

Frequently Asked Questions

What is the full form of Redis?

Redis stands for Remote Dictionary Server.

How is Redis different from other databases?

Redis is a NoSQL, Opensource, in-memory data structure store. It follows the principle of a key-value store. 

Which are the big companies using Redis?

GitHub, Twitter, Stackoverflow, etc., are the most popular companies using Redis.

Which are the different data types used in Redis?

There are mainly five types of data types supported by Redis: Strings, Hashes, Lists, Sets, and Sorted Sets.

Conclusion

In this article, we have extensively discussed the concepts of Redis. We started by introducing Redis, the feature of Redis, the uses of Redis, and finally concluded with the pros and cons of Redis.

We hope that this blog has helped you enhance your knowledge regarding Redis and if you would like to learn more, check out our articles on the operational databases. Do upvote our blog to help other ninjas grow. Happy Coding!

Live masterclass