跳到主要内容

结果读取

按命令返回的列选择读取方法:

命令返回列dbVisitor 读取方式
GETVALUEqueryForString
INCRVALUEqueryForLong
LRANGEELEMENTqueryForList
HGETALLFIELD, VALUEqueryForPairs
MGETKEY, VALUEqueryForPairs

读取键值对

Map<String, String> values = jdbc.queryForPairs(
"MGET ? ?", String.class, String.class,
new Object[] { "user:1001:name", "user:1002:name" });

读取弹出的列表元素

BLPOP、BRPOP 返回两行 ELEMENT:第一行是列表键,第二行才是元素。不能用只读取首行的标量方法取消息:

jdbc.executeUpdate("LPUSH ? ?", new Object[] { "queue:demo", "hello" });
List<String> result = jdbc.queryForList("BRPOP ? ?", new Object[] { "queue:demo", 5 }, String.class);
String key = result.get(0);
String message = result.get(1);
注意

示例先放入元素再读取。当前适配器尚未将阻塞超时规范化为空结果集;需要可靠处理空队列和超时的消费者,应直接使用 Redis 客户端。

完整返回类型见命令语法

自定义结果处理

RowMapperRowCallbackHandlerResultSetExtractor 的 API 支持情况与配置方式见结果接收。处理时按上表中的实际结果列读取。