Type 4 JDBC driver based on Jedis that allows Java programs to connect to a Redis database.
This driver is embedded into DataGrip.
You can download the precompiled driver (jar) on the releases page.
# Linux, MacOs
./gradlew jar
# Windows
gradlew.bat jar
You will find driver jar in build/libs
// Load the driver
try {
Class.forName("jdbc.RedisDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
return;
}
// Create a connection
try (Connection connection = DriverManager.getConnection("jdbc:redis://localhost:6379/0", null, null)) {
// Execute a query
try (Statement statement = connection.createStatement()) {
try (ResultSet resultSet = statement.executeQuery("SET key value")) {
// Process the result set
while (resultSet.next()) {
String result = resultSet.getString("value");
System.out.println("result: " + result);
}
}
}
}| Server | Status |
|---|---|
| Redis Standalone | Supported |
| Redis Cluster | Supported |
| Redis Sentinel | Not supported yet |
Default host and port: 127.0.0.1:6379
jdbc:redis://[[<user>:]<password>@][<host>[:<port>]][/<database>][?<property1>=<value>&<property2>=<value>&...]
jdbc:redis:cluster://[[<user>:]<password>@][<host1>[:<port1>],<host2>[:<port2>],...][/<database>][?<property1>=<value>&<property2>=<value>&...]
| Property | Type | Default | Description |
|---|---|---|---|
| user | String | null | |
| password | String | null | |
| database | Integer | 0 | |
| connectionTimeout | Integer | 2000 | Connection timeout in milliseconds. |
| socketTimeout | Integer | 2000 | Socket timeout in milliseconds. |
| blockingSocketTimeout | Integer | 0 | Socket timeout (in milliseconds) to use during blocking operation. Default is '0', which means to block forever. |
| clientName | String | null | |
| ssl | Boolean | false | Enable SSL. |
| verifyServerCertificate | Boolean | true | Configure a connection that uses SSL but does not verify the identity of the server. |
| hostAndPortMapping | Map<String, String> | null | Host and port mapping. |
| verifyConnectionMode | Boolean | true | Verify that the mode specified for a connection in the URL prefix matches the server mode (standalone, cluster, sentinel). |
Set property ssl=true.
Pass arguments for your keystore and trust store:
-Djavax.net.ssl.trustStore=/path/to/client.truststore
-Djavax.net.ssl.trustStorePassword=password123
# If you're using client authentication:
-Djavax.net.ssl.keyStore=/path/to/client.keystore
-Djavax.net.ssl.keyStorePassword=password123
To disable server certificate verification set property verifyServerCertificate=false.
| Commands | Status |
|---|---|
| Native | Supported |
| RedisBloom | Not supported yet |
| RediSearch | Not supported yet |
| RedisGraph | Not supported yet |
| RedisJSON | Not supported yet |
| RedisTimeSeries | Not supported yet |
| Interface | Class | Comment |
|---|---|---|
java.sql.Driver |
jdbc.RedisDriver |
|
java.sql.Connection |
jdbc.RedisConnection |
|
java.sql.Statement |
jdbc.RedisStatement |
|
java.sql.PreparedStatement |
jdbc.RedisPreparedStatement |
Dummy implementation: it is equivalent to jdbc.RedisStatement. |
java.sql.DatabaseMetaData |
jdbc.RedisDatabaseMetaData |
Minimal implementation: it does not contain information about database objects. |
java.sql.ResultSet |
jdbc.resultset.RedisResultSetBase |
|
java.sql.ResultSetMetaData |
jdbc.resultset.RedisResultSetMetaData |
Partial implementation: it contains only information about columns. |
- DataGrip 2022.3: Redis support
- DataGrip 2022.3 EAP 2: Redis support (in details)