RedisGears

Infinitely programmable data processing in Redis

RedisGears is a dynamic framework that enables developers to write and execute functions that implement data flows in Redis, while abstracting away the data’s distribution and deployment. These capabilities enable efficient data processing using multiple models in Redis with infinite programmability, while remaining simple to use in any environment.

Benefits

Program everything you want in Redis

With a built-in C-API and Python interpreter, RedisGears lets you use fully fledged Python scripts and libraries to process data inside Redis.

Deploy functions to every environment

Write your functions against a standalone Redis database and deploy them to production clusters—with no changes required.

Run your serverless engine where your data lives

RedisGears lets you process events and streams faster by running in memory next to your data in Redis.

Simplify your architecture and reduce deployment costs

RedisGears enables multi-model data processing without the complexity of multiple clients and database connectors.

Use cases

Write-behind

Use Redis as your frontend database to improve application performance, while guaranteeing that all changes are written to your backend databases.

Real-time data processing

With RedisGears, accessing and processing data using multiple data structures and data models happens at the speed of memory.

Streaming and event processing

Write functions that react to events in Redis, such as new messages in a stream, or write operations in a key.

Operations across multiple data structures and models

Combine data in different Redis data structures and modules, transform them, and write them into others using RedisGears.

AI-driven transactions

Use functions to create tensors from data in Redis, combine them with application requests, and serve them to AI models for fast inferencing.

Architecture

RedisGears has three main components:

  1. GearsCoordinator: orchestrates the distributed execution of your functions on each shard in your database.
  2. GearsExecuter: schedules and triggers the execution of your functions, which can be triggered ad-hoc, by key-space notification, or by changes in a stream.
  3. GearsEngine: the runtime execution environment of RedisGears.

RedisGears minimizes the execution time and the data flow between shards by running your functions as close as possible to your data.

On top of these three core components, RedisGears also includes a fast, low-level C-API that integrates via Python for programmability.

RedisInsight support

 

Use RedisInsight with RedisGears to:

  • List and inspect registered functions
  • Check function executions and their results
  • Register new functions and check currently running code