Reduce Operational Load using AWS Managed Services for your Data Solutions
19th October 2021
Jython – Programming Language
28th October 2021

What is Redis?

Redis is an in-memory database. That means all its storage is held in memory—not on a hard drive. Memory enables quick access, and quick searches, but is limited by space.

In the database architecture, Redis is usually positioned between the client and the database to relieve the load off your NoSQL database or application.

Redis is open-source software that is released under a BSD 3-cause license, a specific type of permissive free software licenses. Redis began when developer Salvatore Sanfilippo needed to improve scalability on his website. He soon open-sourced the platform. Today a core project team develops and maintains Redis, which has been sponsored by Redis Labs since 2015.

Why Redis?

It supports caching. Caching is the process of storing some data in Cache. Cache is a temporary storage component area where the temporary data is stored so that in the future, data can be served faster. For that case, Redis is used.

Redis supports most leading programming languages and protocols, including Python, Java, PHP, Perl, Go, Ruby, C/C#/C++, JavaScript, Node.js, and many more

PROs of Redis:

  1. It’s super fast. Faster than any other cashing out there.
  2. Due to easy setup, Redis is Simple and easy to use.
  3. Redis has flexible data structures, it supports almost all data structures.
  4. Redis allows storing key and value pairs as large as 512 MB.
  5. Redis uses its own hashing mechanism called Redis Hashing.
  6. Zero downtime or performance impact while scaling up or down.
  7. Last and probably the very obvious point, it is open source and stable

There are many more pros of Redis. going deep is very hard at this time.

Cons Of Redis:

  1. Since Data is sharded based on the hash-slots assigned to each Master. If Master holding some slots is down, data to be written to that slot will be lost.
  2. Clients connecting to the Redis cluster should be aware of the cluster topology, causing overhead configuration on Clients.
  3. Failover does not happen unless the master has at least one slave.
  4. It requires a huge ram because it is in-memory so are not supposed to use it on ram servers.