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¶m1=value1¶m2=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();