Skip to content

Introduction

Redis is an open source (BSD licensed), in-memory data structure store used as a database, cache, message broker, and streaming engine. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions, and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.

You can run atomic operations on these types, like appending to a string; incrementing the value in a hash; pushing an element to a list; computing set intersection, union and difference; or getting the member with highest ranking in a sorted set.

To achieve top performance, Redis works with an in-memory dataset. Depending on your use case, Redis can persist your data either by periodically dumping the dataset to disk or by appending each command to a disk-based log. You can also disable persistence if you just need a feature-rich, networked, in-memory cache.

Redis supports asynchronous replication, with fast non-blocking synchronization and auto-reconnection with partial resynchronization on net split.

Redis also includes:

  • Transactions
  • Pub/Sub
  • Lua scripting
  • Keys with a limited time-to-live
  • LRU eviction of keys
  • Automatic failover

Prerequisites

  • The Redis Cloud Connector installed on the system.
  • A running Redis instance with well-known topics.
  • If running ESF < 7.2.0, an org.eclipse.kura.cloud.CloudService needs to be instantiated in order to use Kura Protobuf payload encoding (see Endpoint Configuration).

General concepts

The provided cloud endpoint uses the redis command PSUBSCRIBE and PUBSLISH to deal with redis TOPIC. The command PUNSUBSCRIBE is used to unsubscribe from topics.

Redis Topics syntax

The RedisClientCloudEndpoint supports topic with wildcards. More information on redis wildcard can be found on the official website.