Cache and Redis Configuration
All parameters listed here correspond to settings in tb-edge.yml (or tb-edge.conf on Linux). Set them as environment variables in /etc/tb-edge/conf/tb-edge.conf (Linux) or as container environment variables (Docker / Kubernetes). For instructions on applying changes, see How to change configuration.
Cache settings parameters
Section titled “Cache settings parameters”| Parameter | Env variable | Default | Description |
|---|---|---|---|
cache.type |
CACHE_TYPE |
caffeine |
caffeine or redis(7.2 - latest compatible version) |
cache.maximumPoolSize |
CACHE_MAXIMUM_POOL_SIZE |
16 |
max pool size to process futures that call the external cache |
cache.attributes.enabled |
CACHE_ATTRIBUTES_ENABLED |
true |
make sure that if cache.type is ‘redis’ and cache.attributes.enabled is ‘true’ if you change ‘maxmemory-policy’ Redis config property to ‘allkeys-lru’, ‘allkeys-lfu’ or ‘allkeys-random’ |
cache.ts_latest.enabled |
CACHE_TS_LATEST_ENABLED |
true |
Will enable cache-aside strategy for SQL timeseries latest DAO. make sure that if cache.type is ‘redis’ and cache.ts_latest.enabled is ‘true’ if you change ‘maxmemory-policy’ Redis config property to ‘allkeys-lru’, ‘allkeys-lfu’ or ‘allkeys-random’ |
cache.specs.relations.timeToLiveInMinutes |
CACHE_SPECS_RELATIONS_TTL |
1440 |
Relations cache TTL |
cache.specs.relations.maxSize |
CACHE_SPECS_RELATIONS_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.deviceCredentials.timeToLiveInMinutes |
CACHE_SPECS_DEVICE_CREDENTIALS_TTL |
1440 |
Device credentials cache TTL |
cache.specs.deviceCredentials.maxSize |
CACHE_SPECS_DEVICE_CREDENTIALS_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.devices.timeToLiveInMinutes |
CACHE_SPECS_DEVICES_TTL |
1440 |
Device cache TTL |
cache.specs.devices.maxSize |
CACHE_SPECS_DEVICES_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.sessions.timeToLiveInMinutes |
CACHE_SPECS_SESSIONS_TTL |
1440 |
Sessions cache TTL |
cache.specs.sessions.maxSize |
CACHE_SPECS_SESSIONS_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.assets.timeToLiveInMinutes |
CACHE_SPECS_ASSETS_TTL |
1440 |
Asset cache TTL |
cache.specs.assets.maxSize |
CACHE_SPECS_ASSETS_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.customers.timeToLiveInMinutes |
CACHE_SPECS_CUSTOMERS_TTL |
1440 |
Customer cache TTL |
cache.specs.customers.maxSize |
CACHE_SPECS_CUSTOMERS_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.users.timeToLiveInMinutes |
CACHE_SPECS_USERS_TTL |
1440 |
User cache TTL |
cache.specs.users.maxSize |
CACHE_SPECS_USERS_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.entityViews.timeToLiveInMinutes |
CACHE_SPECS_ENTITY_VIEWS_TTL |
1440 |
Entity view cache TTL |
cache.specs.entityViews.maxSize |
CACHE_SPECS_ENTITY_VIEWS_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.claimDevices.timeToLiveInMinutes |
CACHE_SPECS_CLAIM_DEVICES_TTL |
1440 |
Claim devices cache TTL |
cache.specs.claimDevices.maxSize |
CACHE_SPECS_CLAIM_DEVICES_MAX_SIZE |
1000 |
0 means the cache is disabled |
cache.specs.securitySettings.timeToLiveInMinutes |
CACHE_SPECS_SECURITY_SETTINGS_TTL |
1440 |
Security settings cache TTL |
cache.specs.securitySettings.maxSize |
CACHE_SPECS_SECURITY_SETTINGS_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.tenantProfiles.timeToLiveInMinutes |
CACHE_SPECS_TENANT_PROFILES_TTL |
1440 |
Tenant profiles cache TTL |
cache.specs.tenantProfiles.maxSize |
CACHE_SPECS_TENANT_PROFILES_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.tenants.timeToLiveInMinutes |
CACHE_SPECS_TENANTS_TTL |
1440 |
Tenant cache TTL |
cache.specs.tenants.maxSize |
CACHE_SPECS_TENANTS_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.tenantsExist.timeToLiveInMinutes |
CACHE_SPECS_TENANTS_TTL |
1440 |
Environment variables are intentionally the same as in ‘tenants’ cache to be equal. |
cache.specs.tenantsExist.maxSize |
CACHE_SPECS_TENANTS_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.deviceProfiles.timeToLiveInMinutes |
CACHE_SPECS_DEVICE_PROFILES_TTL |
1440 |
Device profile cache TTL |
cache.specs.deviceProfiles.maxSize |
CACHE_SPECS_DEVICE_PROFILES_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.assetProfiles.timeToLiveInMinutes |
CACHE_SPECS_ASSET_PROFILES_TTL |
1440 |
Asset profile cache TTL |
cache.specs.assetProfiles.maxSize |
CACHE_SPECS_ASSET_PROFILES_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.notificationSettings.timeToLiveInMinutes |
CACHE_SPECS_NOTIFICATION_SETTINGS_TTL |
10 |
Notification settings cache TTL |
cache.specs.notificationSettings.maxSize |
CACHE_SPECS_NOTIFICATION_SETTINGS_MAX_SIZE |
1000 |
0 means the cache is disabled |
cache.specs.sentNotifications.timeToLiveInMinutes |
CACHE_SPECS_SENT_NOTIFICATIONS_TTL |
1440 |
Sent notifications cache TTL |
cache.specs.sentNotifications.maxSize |
CACHE_SPECS_SENT_NOTIFICATIONS_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.attributes.timeToLiveInMinutes |
CACHE_SPECS_ATTRIBUTES_TTL |
1440 |
Attributes cache TTL |
cache.specs.attributes.maxSize |
CACHE_SPECS_ATTRIBUTES_MAX_SIZE |
100000 |
0 means the cache is disabled |
cache.specs.tsLatest.timeToLiveInMinutes |
CACHE_SPECS_TS_LATEST_TTL |
1440 |
Timeseries latest cache TTL |
cache.specs.tsLatest.maxSize |
CACHE_SPECS_TS_LATEST_MAX_SIZE |
100000 |
0 means the cache is disabled |
cache.specs.userSessionsInvalidation.timeToLiveInMinutes |
_(none)_ |
"0" |
The value of this TTL is ignored and replaced by the JWT refresh token expiration time |
cache.specs.userSessionsInvalidation.maxSize |
CACHE_SPECS_USERS_UPDATE_TIME_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.otaPackages.timeToLiveInMinutes |
CACHE_SPECS_OTA_PACKAGES_TTL |
60 |
Ota packages cache TTL |
cache.specs.otaPackages.maxSize |
CACHE_SPECS_OTA_PACKAGES_MAX_SIZE |
10 |
0 means the cache is disabled |
cache.specs.otaPackagesData.timeToLiveInMinutes |
CACHE_SPECS_OTA_PACKAGES_DATA_TTL |
60 |
Ota packages data cache TTL |
cache.specs.otaPackagesData.maxSize |
CACHE_SPECS_OTA_PACKAGES_DATA_MAX_SIZE |
10 |
0 means the cache is disabled |
cache.specs.edges.timeToLiveInMinutes |
CACHE_SPECS_EDGES_TTL |
1440 |
Edges cache TTL |
cache.specs.edges.maxSize |
CACHE_SPECS_EDGES_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.edgeSessions.timeToLiveInMinutes |
CACHE_SPECS_EDGE_SESSIONS_TTL |
0 |
Edge Sessions cache TTL; no expiration time if set to ‘0’ |
cache.specs.edgeSessions.maxSize |
CACHE_SPECS_EDGE_SESSIONS_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.relatedEdges.timeToLiveInMinutes |
CACHE_SPECS_RELATED_EDGES_TTL |
1440 |
Related Edges cache TTL |
cache.specs.relatedEdges.maxSize |
CACHE_SPECS_RELATED_EDGES_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.repositorySettings.timeToLiveInMinutes |
CACHE_SPECS_REPOSITORY_SETTINGS_TTL |
1440 |
Repository settings cache TTL |
cache.specs.repositorySettings.maxSize |
CACHE_SPECS_REPOSITORY_SETTINGS_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.autoCommitSettings.timeToLiveInMinutes |
CACHE_SPECS_AUTO_COMMIT_SETTINGS_TTL |
1440 |
Autocommit settings cache TTL |
cache.specs.autoCommitSettings.maxSize |
CACHE_SPECS_AUTO_COMMIT_SETTINGS_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.twoFaVerificationCodes.timeToLiveInMinutes |
CACHE_SPECS_TWO_FA_VERIFICATION_CODES_TTL |
60 |
Two factor verification codes cache TTL |
cache.specs.twoFaVerificationCodes.maxSize |
CACHE_SPECS_TWO_FA_VERIFICATION_CODES_MAX_SIZE |
100000 |
0 means the cache is disabled |
cache.specs.versionControlTask.timeToLiveInMinutes |
CACHE_SPECS_VERSION_CONTROL_TASK_TTL |
20 |
Version control task cache TTL |
cache.specs.versionControlTask.maxSize |
CACHE_SPECS_VERSION_CONTROL_TASK_MAX_SIZE |
100000 |
0 means the cache is disabled |
cache.specs.userSettings.timeToLiveInMinutes |
CACHE_SPECS_USER_SETTINGS_TTL |
1440 |
User settings cache TTL |
cache.specs.userSettings.maxSize |
CACHE_SPECS_USER_SETTINGS_MAX_SIZE |
100000 |
0 means the cache is disabled |
cache.specs.dashboardTitles.timeToLiveInMinutes |
CACHE_SPECS_DASHBOARD_TITLES_TTL |
1440 |
Dashboard titles cache TTL |
cache.specs.dashboardTitles.maxSize |
CACHE_SPECS_DASHBOARD_TITLES_MAX_SIZE |
100000 |
0 means the cache is disabled |
cache.specs.entityCount.timeToLiveInMinutes |
CACHE_SPECS_ENTITY_COUNT_TTL |
1440 |
Entity count cache TTL |
cache.specs.entityCount.maxSize |
CACHE_SPECS_ENTITY_COUNT_MAX_SIZE |
100000 |
0 means the cache is disabled |
cache.specs.resourceInfo.timeToLiveInMinutes |
CACHE_SPECS_RESOURCE_INFO_TTL |
1440 |
Resource info cache TTL |
cache.specs.resourceInfo.maxSize |
CACHE_SPECS_RESOURCE_INFO_MAX_SIZE |
100000 |
0 means the cache is disabled |
cache.specs.alarmTypes.timeToLiveInMinutes |
CACHE_SPECS_ALARM_TYPES_TTL |
60 |
Alarm types cache TTL |
cache.specs.alarmTypes.maxSize |
CACHE_SPECS_ALARM_TYPES_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.mobileAppSettings.timeToLiveInMinutes |
CACHE_SPECS_MOBILE_APP_SETTINGS_TTL |
1440 |
Mobile application cache TTL |
cache.specs.mobileAppSettings.maxSize |
CACHE_SPECS_MOBILE_APP_SETTINGS_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.specs.mobileSecretKey.timeToLiveInMinutes |
CACHE_MOBILE_SECRET_KEY_TTL |
2 |
QR secret key cache TTL |
cache.specs.mobileSecretKey.maxSize |
CACHE_MOBILE_SECRET_KEY_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.notificationRules.timeToLiveInMinutes |
CACHE_SPECS_NOTIFICATION_RULES_TTL |
30 |
Notification rules cache TTL |
cache.notificationRules.maxSize |
CACHE_SPECS_NOTIFICATION_RULES_MAX_SIZE |
1000 |
0 means the cache is disabled |
cache.rateLimits.timeToLiveInMinutes |
CACHE_SPECS_RATE_LIMITS_TTL |
120 |
Rate limits cache TTL |
cache.rateLimits.maxSize |
CACHE_SPECS_RATE_LIMITS_MAX_SIZE |
200000 |
0 means the cache is disabled |
cache.entityLimits.timeToLiveInMinutes |
CACHE_SPECS_ENTITY_LIMITS_TTL |
5 |
Entity limits cache TTL |
cache.entityLimits.maxSize |
CACHE_SPECS_ENTITY_LIMITS_MAX_SIZE |
100000 |
0 means the cache is disabled |
cache.image.etag.timeToLiveInMinutes |
CACHE_SPECS_IMAGE_ETAGS_TTL |
44640 |
Image ETags cache TTL |
cache.image.etag.maxSize |
CACHE_SPECS_IMAGE_ETAGS_MAX_SIZE |
10000 |
0 means the cache is disabled |
cache.image.systemImagesBrowserTtlInMinutes |
CACHE_SPECS_IMAGE_SYSTEM_BROWSER_TTL |
0 |
Browser cache TTL for system images in minutes. 0 means the cache is disabled |
cache.image.tenantImagesBrowserTtlInMinutes |
CACHE_SPECS_IMAGE_TENANT_BROWSER_TTL |
0 |
Browser cache TTL for tenant images in minutes. 0 means the cache is disabled |
Spring data parameters
Section titled “Spring data parameters”| Parameter | Env variable | Default | Description |
|---|---|---|---|
spring.data.redis.repositories.enabled |
_(none)_ |
false |
Disable this because it is not required. |
Redis configuration parameters
Section titled “Redis configuration parameters”| Parameter | Env variable | Default | Description |
|---|---|---|---|
redis.connection.type |
REDIS_CONNECTION_TYPE |
standalone |
Redis deployment type: Standalone (single Redis node deployment) OR Cluster |
redis.standalone.host |
REDIS_HOST |
localhost |
Redis connection host |
redis.standalone.port |
REDIS_PORT |
6379 |
Redis connection port |
redis.standalone.useDefaultClientConfig |
REDIS_USE_DEFAULT_CLIENT_CONFIG |
true |
Use the default Redis configuration file |
redis.standalone.clientName |
REDIS_CLIENT_NAME |
standalone |
This value may be used only if you used not default ClientConfig |
redis.standalone.connectTimeout |
REDIS_CLIENT_CONNECT_TIMEOUT |
30000 |
This value may be used only if you used not default ClientConfig |
redis.standalone.readTimeout |
REDIS_CLIENT_READ_TIMEOUT |
60000 |
This value may be used only if you used not default ClientConfig |
redis.standalone.usePoolConfig |
REDIS_CLIENT_USE_POOL_CONFIG |
false |
This value may be used only if you used not default ClientConfig |
redis.cluster.nodes |
REDIS_NODES |
_(empty)_ |
Comma-separated list of “host:port” pairs to bootstrap from. |
redis.cluster.max-redirects |
REDIS_MAX_REDIRECTS |
12 |
Maximum number of redirects to follow when executing commands across the cluster. |
redis.cluster.useDefaultPoolConfig |
REDIS_USE_DEFAULT_POOL_CONFIG |
true |
if set false will be used pool config build from values of the pool config section |
redis.sentinel.master |
REDIS_MASTER |
_(empty)_ |
name of the master node |
redis.sentinel.sentinels |
REDIS_SENTINELS |
_(empty)_ |
comma-separated list of “host:port” pairs of sentinels |
redis.sentinel.password |
REDIS_SENTINEL_PASSWORD |
_(empty)_ |
password to authenticate with sentinel |
redis.sentinel.useDefaultPoolConfig |
REDIS_USE_DEFAULT_POOL_CONFIG |
true |
if set false will be used pool config build from values of the pool config section |
redis.db |
REDIS_DB |
0 |
db index |
redis.password |
REDIS_PASSWORD |
_(empty)_ |
db password |
redis.ssl.enabled |
TB_REDIS_SSL_ENABLED |
false |
Enable/disable secure connection |
redis.ssl.credentials.cert_file |
TB_REDIS_SSL_PEM_CERT |
_(empty)_ |
Path redis server (CA) certificate |
redis.ssl.credentials.user_cert_file |
TB_REDIS_SSL_PEM_KEY |
_(empty)_ |
Path to user certificate file. This is optional for the client and can be used for two-way authentication for the client |
redis.ssl.credentials.user_key_file |
TB_REDIS_SSL_PEM_KEY_PASSWORD |
_(empty)_ |
Path to user private key file. This is optional for the client and only needed if ‘user_cert_file’ is configured. |
redis.pool_config.maxTotal |
REDIS_POOL_CONFIG_MAX_TOTAL |
128 |
Maximum number of connections that can be allocated by the connection pool |
redis.pool_config.maxIdle |
REDIS_POOL_CONFIG_MAX_IDLE |
128 |
Maximum number of idle connections that can be maintained in the pool without being closed |
redis.pool_config.minIdle |
REDIS_POOL_CONFIG_MIN_IDLE |
16 |
Minumum number of idle connections that can be maintained in the pool without being closed |
redis.pool_config.testOnBorrow |
REDIS_POOL_CONFIG_TEST_ON_BORROW |
true |
Enable/Disable PING command sent when a connection is borrowed |
redis.pool_config.testOnReturn |
REDIS_POOL_CONFIG_TEST_ON_RETURN |
true |
The property is used to specify whether to test the connection before returning it to the connection pool. |
redis.pool_config.testWhileIdle |
REDIS_POOL_CONFIG_TEST_WHILE_IDLE |
true |
The property is used in the context of connection pooling in Redis |
redis.pool_config.minEvictableMs |
REDIS_POOL_CONFIG_MIN_EVICTABLE_MS |
60000 |
Minimum time that an idle connection should be idle before it can be evicted from the connection pool. The value is set in milliseconds |
redis.pool_config.evictionRunsMs |
REDIS_POOL_CONFIG_EVICTION_RUNS_MS |
30000 |
Specifies the time interval in milliseconds between two consecutive eviction runs |
redis.pool_config.maxWaitMills |
REDIS_POOL_CONFIG_MAX_WAIT_MS |
60000 |
Maximum time in milliseconds where a client is willing to wait for a connection from the pool when all connections are exhausted |
redis.pool_config.numberTestsPerEvictionRun |
REDIS_POOL_CONFIG_NUMBER_TESTS_PER_EVICTION_RUN |
3 |
Specifies the number of connections to test for eviction during each eviction run |
redis.pool_config.blockWhenExhausted |
REDIS_POOL_CONFIG_BLOCK_WHEN_EXHAUSTED |
true |
Determines the behavior when a thread requests a connection from the pool, but there are no available connections, and the pool cannot create more due to the maxTotal configuration |
redis.evictTtlInMs |
REDIS_EVICT_TTL_MS |
60000 |
TTL for short-living SET commands that are used to replace DEL to enable transaction support |
Was this helpful?
Thank you for your feedback!