Skip to content

Toro Cloud Dev Center


Redis connections

Martini also includes Redis v5.0+ support. Redis is an open source, in-memory data structure store, used as a database, cache, and message broker.

Redis connection editor

Versions older than Redis v5.0

Martini is capable of connecting to older versions of Redis but some functions might not work as expected.

Gloop and Redis

Unlike Gloop Cassandra and MongoDB services, Gloop includes over 400 functions for Redis. These functions are in the core package, in the io.toro.martini.redis directory.

Redis functions

To configure a Redis connection, you only need to provide a value for the URI field in the General Configuration section. You can either choose from the various URI formats available, or enter your own compatible URI. For more configuration options, you can refer to these sections: Advanced, SSL, Socket, and Connection.

General configuration properties

Property Default Description
Name The name of the database.
URI redis://<host>:6379/<database> Describes the hosts and options to be used when connecting to a Redis server.
Password The password to use when authenticating to the server.
Auto Start true Whether or not to automatically start the database connection upon instance startup.

Advanced configuration properties

Property Default Description
Ping Before Activate Connection false If true, every connection and reconnect will issue a PING command and wait for it's response before the connection is activated and enabled for use.
Auto Reconnect true Controls auto-reconnect behavior on connections.
Cancel Commands On Reconnect Failure false If this flag is true, any queued commands will be cancelled when a reconnect fails within the activation sequence.
Publish On Scheduler false Use a dedicated scheduler to emit reactive data signals.
Suspend Reconnect On Protocol Failure false If this flag is true, reconnects will be suspended on protocol errors.
Request Queue Size 2147483647 Request queue size for a connection.
Disconnected Behavior Default Behavior for command invocation when connections are in a disconnected state.

SSL configuration properties

Property Default Description
SSL Provider JDK Use the OpenSSL provider or the JDK SSL for SSL connections.
KeyStore File The KeyStore file to load client certificates.
KeyStore Password The password of the KeyStore file.
TrustStore File The TrustStore file to load trusted certificates.
TrustStore Password The password of the TrustStore file.
Start TLS false Whether or not to start TLS.

Socket configuration properties

Property Default Description
Connect Timeout (ms) 10000 The connection timeout in milliseconds, set to -1 for no timeout.
Keep Alive false Whether to enable TCP keepalive.
TCP No Delay false The password of the KeyStore file.

Connection configuration properties

Property Default Description
Connection Timeout (ms) -1 The connection timeout in milliseconds, set to -1 for no timeout.
Auto Flush Commands true Whether or not to auto flush commands.
Maximum Total 8 The maximum number of connections to maintain in the pool. A negative value indicates that there is no limit to connections allocated by the pool.
Maximum Idle 8 The maximum number of idle connections to maintain in the pool. If the configured value of Minimum Idle is greater than the configured value for Maximum Idle, then the value of Max Idle will be used instead.
Minimum Idle 0 The minimum number of idle connections to maintain in the pool.
Eviction Policy Name The data eviction method to be used when the database size reaches its limit.
Time Between Eviction Runs (ms) -1 The amount of time in milliseconds that the pool will wait before evicting connections. A value of -1 indicates idle object eviction to be disabled by default.
Evictable Idle Time (ms) 1800000 The minimum amount of time an object may sit idle in the pool before it is eligible for eviction in milliseconds.
Soft Evictable Idle Time (ms) -1 The minimum amount of time an object may sit idle in the pool before it is eligible for eviction with the extra condition that at least Minimum Idle object instances remain in the pool.
Tests Per Eviction Run 3 The number of objects to examine during each run of the idle object evictor. A negative value indicates to test all connections.
Evictor Shutdown Timeout (ms) 10000 The timeout to be used when waiting for the Evictor to shutdown if the pool is closed and is the only pool still using the the value for the Evictor.
JMX Enabled false Determines if JMX will be enabled for pools created and registered with Martini.
JMX Name Base The base name that will be used as part of the name assigned to JMX enabled pools created with this configuration instance.
JMX Name Prefix The prefix name that will be used as part of the name assigned to JMX enabled pools created with this configuration instance.
Maximum Wait (ms) 0 The amount of time to wait for an available connection.
Block When Exhausted true A value of false means an error will occur when a client requests a connection and none are available.
LIFO true Determines whether or not the pool returns idle objects in last-in-first-out order.
Fairness false Ensure that threads receive available instances in request arrival order.
Test On Create false Whether connections should be tested upon creation.
Test On Borrow false Whether connections should be tested upon borrowing from the pool.
Test On Return false Whether connections should be tested upon returning to the pool.
Test While Idle false Whether connections should be tested while idle.