Redis aims for an infinite variety of data structures

Redis needs explaining – it is an open source (BSD licensed), in-memory data structure store.

Redis: proud about its geekiness, don't mess with the data structure nerds this season

Redis: proud about its geekiness, don’t mess with the data structure nerds this season

But what is a data structure store?

As a ‘data structure store’, Redis has the job of acting as a database, a cache and a message broker.

But what is a message broker?

A message broker is an intermediary program module that handles the communication between applications by translating a message from the formal messaging protocol used by the sender to the formal messaging protocol of the receiver – essentially, this is middleware for data analytics.

For the deeply geeky, Redis supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries.

Redis creator Salvatore Sanfilippo has announced the new Redis Modules at RedisConf 2016.

With Redis Modules, developers can:

  • Add any database functionality to Redis
  • Extend Redis to an infinite variety of data structures and use cases
  • Submit and access open source modules at
  • Eliminate the need for specialty databases

“Redis Modules is an important milestone for the Redis community,” said Sanfilippo. “It is not possible to cover every vertical use case with just the Redis core. Now, thanks to Redis Modules, an ecosystem of diverse solutions can flourish. The guaranteed API and binary compatibility with future versions of Redis, allow developers to invest in and benefit from, the creation of new Redis functionality. While Lua scripts provide a level of flexibility, Redis Modules offer increased sophistication with access to low level Redis capabilities, allowing new commands to be developed easily.”

With Redis Modules, developers can supposedly solve data management problems by developing their own Modules or deploying existing Modules.

The Modules API provides low level access to Redis functionality, making it a faster, more natural alternative to Lua scripting. Deploying a Redis Module is as simple as loading a library inside Redis, which immediately makes the Module’s commands available to applications.