-
Notifications
You must be signed in to change notification settings - Fork 42
RedisConfig
This will configure how the gateway will connect to the Redis database. It is a required configuration in tree-gateway.json file and supports the following properties:
Property | Type | Description | Required |
---|---|---|---|
standalone | RedisNodeConfig | Configure the connection to a standalone Redis. | false |
sentinel | RedisSentinelConfig | Configure the connection to Redis using sentinels. | false |
cluster | RedisNodeConfig[] | Configure the connection to a redis cluster. | false |
options | RedisOptionsConfig | Configure additional options to be passed to redis driver. | false |
It is important to observe that none of those properties are required, however, you need to specify one (and no more than one) option between standalone
, sentinel
and cluster
.
Configure a redis node where the gateway will connect.
It supports the following properties:
Property | Type | Description | Required |
---|---|---|---|
host | string | The hostname of the redis node. | true |
port | string or number | The port of the redis node. | false |
password | string | The password to connect on the redis node. | false |
If none of these are provided, the port 6379 will be used as default.
Example:
"database": {
"standalone": {
"host": "localhost",
"port": 6379
}
}
You can write the values for these properties between {
and }
, to inform to the gateway that an environment variable should be used:
"database": {
"standalone": {
"host": "{redis_hostname}",
"port": "{redis_port}"
}
}
In this example above, the gateway will use an environment variable called redis_hostname
to find out the name of the redis host and redis_port
as the redis connection port.
Configure a redis using sentinels.
It supports the following properties:
Property | Type | Description | Required |
---|---|---|---|
name | string | Group os instances to connect (master/slaves group). | true |
nodes | RedisNodeConfig[] | List of sentinel nodes. | true |
Example:
{
"database": {
"sentinel": {
"name": "redis1",
"nodes": [
{
"host": "localhost",
"port": 6379
}
]
}
}
}
Configure a list of start nodes for a redis cluster. You don't need to provide all cluster nodes. The gateway will use this start list and discover the cluster automatically.
Example:
{
"database": {
"cluster": [
{
"host": "host1",
"port": 6379
},
{
"host": "host2",
"port": 6379
}
]
}
}
Configure additional options to be passed to redis driver.
It supports the following properties:
Property | Type | Description | Required |
---|---|---|---|
password | string | Fallback password. Used when not defined in a node. | false |
keyPrefix | string | Prefix to be appended to all keys (defaults to ''). | false |
connectionName | string | Connection name, for monitoring purposes. | false |
db | number | Database index. | false |
Example:
{
"rootPath": ".",
"database": {
"standalone": {
"host": "{REDIS_PORT_6379_TCP_ADDR}",
"port": "{REDIS_PORT_6379_TCP_PORT}"
},
"options": {
"db": 1
}
}
}