Skip to main content

v6.1.0 (2025-11-04)

<dependency>
<groupId>net.hasor</groupId>
<artifactId>jdbc-redis</artifactId>
<version>6.1.0</version>
</dependency>

影响范围

更新内容

  • [新增] 新增 dbvisitor-driver 子项目,它提供了一个灵活的 JDBC 驱动适配器实现。旨在抽象 JDBC 驱动的实现细节,使非关系型数据库能够通过请求/响应模型快速集成到基于 JDBC 的应用程序中。
  • [新增] 新增 jdbc-redis 驱动适配器,它允许开发者使用标准的 JDBC 接口和命令的方式来操作 Redis 数据。

如何使用?

使用标准的 JDBC URL 格式连接 Redis:

String url = "jdbc:dbvisitor:jedis://server:port?database=0&param1=value1&param2=value2";
Properties props = new Properties();
props.setProperty("username", "user");
props.setProperty("password", "pass");
Connection conn = DriverManager.getConnection(url, props);

主要的连接参数包括:

  • server:Redis 服务地址,格式为 ip 或 ip:port,集群模式为 ip:port;ip:port
  • username/password:认证信息。
  • database:默认数据库索引,默认为 0。
  • connectTimeout:连接超时时间(毫秒),默认 5000。
  • socketTimeout:套接字超时时间(秒),默认 10。

命令执行

// 创建连接
Connection conn = DriverManager.getConnection("jdbc:dbvisitor:jedis://localhost:6379");

// 执行命令
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SET mykey hello");

// 处理结果
rs = stmt.executeQuery("GET mykey");
if (rs.next()) {
System.out.println(rs.getString(1)); // 输出: hello
}

// 参数化查询
PreparedStatement pstmt = conn.prepareStatement("HSET ? ? ?");
pstmt.setString(1, "myhash");
pstmt.setString(2, "field1");
pstmt.setString(3, "value1");
ResultSet rs = pstmt.executeQuery();