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.
Standalone configuration
Section titled “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#insecurefragment disables TLS verification when using theredissscheme, 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
Section titled “Cluster configuration”The Redis Cluster backend is selected by choosing the RedisCluster variant on the InMemoryStore object. The variant exposes the following fields:
urls: list of connection URLs for the cluster nodes.authUsername: username used to authenticate. Default:"stalwart".authSecret: password or other secret reference used to authenticate (required).timeout: maximum time to wait for a response from the Redis server. Default:"10s".maxRetries,minRetryWait,maxRetryWait: command retry policy controlling the total number of retries and the backoff between attempts.readFromReplicas: whentrue, allows reads to be served by replica nodes; whenfalse, reads are restricted to the primary. Default:true.protocolVersion: Redis protocol version. Supported values areresp2andresp3. Default:resp2.- The pool lifecycle fields (
poolMaxConnections,poolTimeoutCreate,poolTimeoutWait,poolTimeoutRecycle) mirror those of the standalone variant.
To distribute load across several independent Redis deployments, combine multiple Redis or Redis Cluster backends through the Sharded in-memory store.