Skip to main content
Version: 0.16

Redis

Redis (Remote Dictionary Server) is an in-memory data-structure store used as a database, cache, and message broker. It supports a range of data structures (strings, hashes, lists, sets, sorted sets, bitmaps, hyperloglogs, geospatial indexes, streams), replication, Lua scripting, LRU eviction, transactions, and several levels of on-disk persistence. Valkey, the open-source Redis-compatible fork, is also supported through the same variant.

Note

Redis is supported only as an in-memory store. It cannot be used as the primary data store or as a blob store.

Standalone configuration

The standalone Redis backend is selected by choosing the Redis variant on the InMemoryStore object (found in the WebUI under Settings › Storage › In-Memory Store). The variant exposes the following fields:

  • url: connection URL for the Redis server. Default: "redis://127.0.0.1". The URL may embed a username, password, port, and database index: redis[s]://[<username>][:<password>@]<hostname>[:port][/<db>]#insecure. The #insecure fragment disables TLS verification when using the rediss scheme, which is useful with self-signed certificates.
  • timeout: maximum time to wait for a response from the Redis server. Default: "10s".
  • poolMaxConnections: maximum number of pooled connections. Default: 10.
  • poolTimeoutCreate, poolTimeoutWait, poolTimeoutRecycle: connection-pool lifecycle timeouts. Default: "30s" each.

Cluster configuration

The Redis Cluster backend is selected by choosing the RedisCluster variant on the InMemoryStore object. The variant exposes the following fields:

To distribute load across several independent Redis deployments, combine multiple Redis or Redis Cluster backends through the Sharded in-memory store.