Microservices / Storage / Technology

Redis Puts (Almost) Everything Under a Single Module

7 Apr 2022 9:41am, by

Redis has aggressively sought to build on its main stack largely used for data caching during the past few years. After introducing RediSearch, RedisRaft RedisAI and its most recent release eponymously called Redis 7.0, it is now further distancing itself from its previous reputation as a data caching provider. This is manifested in its release of Redis Stack: a single module intended to help NoSQL developers by regrouping a number of components in one interface.

“Redis Stack turns Redis from a construction kit of data services into an enterprise data platform that simplifies the creation of data-driven applications by providing a high-level object model via SDK,” Torsten Volk, an analyst for Enterprise Management Associates (EMA), told The New Stack. “This enables any developer to implement standard use cases with little code, instead of having to use the lower level Redis libraries. Making it easier for anyone to access all of the Redis data goodness sounds like an interesting value proposition to me.”

All in a Single Module

Redis Stack harnesses together in a single module Redis’ data-structure functionalities developed over the course of the past few years. They include full-text search, time-series data and messaging and queuing, document and other capabilities. The database system functionality also evolved to handle dynamic and fast-moving datasets in a way that is conducive to highly distributed microservices data, for example, according to the company.

Implemented as Redis modules, “we’ve built these engines from the ground up using the same design principles as open source Redis, with an in-memory architecture and an efficient codebase written,” said the company’s chief technology officer Yiftach Shoolman.

“Our vision is for the developer and user to be able to gain all the real-time data use cases in a single Redis module,” Shoolman said. “And we want to offer this experience for the users from the moment they start working with Redis so that the experience is also easy.

The three components of Redis Stack that Redis communicated include:

  1. Redis Stack Server combines open source Redis with RediSearch, RedisJSON, RedisGraph, RedisTimeSeries and RedisBloom.
  2. RedisInsight: a tool for visualizing and optimizing Redis data, making real-time application development easier and “more fun than ever before,” Shoolman said.
  3. The Redis Stack Client SDK: includes the leading official Redis clients in Java, JavaScript and Python. The clients also include our new suite of object mapping libraries, which offer “developer-friendly abstractions that get you productive with just a few lines of code,” Shoolman said. Known as Redis OM for .NET, Node.js, Java and Python, these libraries are also intended to support integrations with popular application frameworks such as Spring, ASP.NET Core, FastAPI and Express.

Redis Stack is for Redis 6.2, and is a release candidate for Redis 7.0.

Designed with Developers in Mind

During my interview with Shoolman, he emphasized how Redis Stack was largely designed with developers in mind. To that end, Redis said Redis Stack allows developers to:

  • Index and query Redis data, run aggregations, perform a full-text search.
  • Run advanced vector similarity searches (KNN).
  • Store and manipulate nested JSON documents efficiently.
  • Build and model relations as property graphs.
  • Store, query and aggregate time-series data.
  • Access to probabilistic data structures.
  • Visualize, debug and analyze Redis data using RedisInsight.

Enabling the consumption and management of Redis capabilities from one single module simplifies the embedding of Redis data services in complex microservices applications and their corresponding DevOps automation pipelines, Volk said. “This shows that Redis aims to become the universal high-performance data fabric for cloud and edge,” Volk said.

Photo by Redd on Unsplash.