java - 如何使用 java 将多对(键、值)发送到 Xadd 命令?
问题描述
// 我尝试使用 XAdd 命令将多个值发送到流。
公共类 LettuceDemo {
public static void main(String[] args) {
RedisClient redisClient = RedisClient.create("redis://password@localhost:6739/0");
StatefulRedisConnection<String, String> connection =redisClient.connect();
RedisStreamCommands<String, String> streamCommands = connection.sync();
List<String> supplierNames1 = new ArrayList<String>();
supplierNames1.add("PaymentOption");
supplierNames1.add("StartDate");
supplierNames1.add("EndDate");
supplierNames1.add("RateOfInterest");
supplierNames1.add("RequiredLoanAmmount");
List<String> supplierNames2 = new ArrayList<String>();
supplierNames2.add(String.valueOf(123));
supplierNames2.add(String.valueOf(765));
supplierNames2.add(String.valueOf(347746));
supplierNames2.add(String.valueOf(8347674));
supplierNames2.add(String.valueOf(34875645));
Map<List<String>, List<String>> body1 = Collections.singletonMap(supplierNames1, supplierNames2);
String messageId = streamCommands.xadd("demo", body1);
System.out.println("my-stream code reference " + messageId);
connection.close();
redisClient.shutdown();
}
}
// 我在执行程序时遇到了这个问题。
线程“main”中的异常 java.lang.IllegalArgumentException:消息 >body.length 必须是 2 的倍数,并且在 io.lettuce.core.internal.LettuceAssert 包含 field1、>value1、field2、value2、fieldN、valueN 的序列.isTrue(LettuceAssert.java:131) 在 io.lettuce.core.RedisCommandBuilder.xadd(RedisCommandBuilder.java:2110) 在 io.lettuce.core.AbstractRedisAsyncCommands.xadd(AbstractRedisAsyncCommands.java:1499) 在 sun.reflect.NativeMethodAccessorImpl。 invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:第498章)57) 在 io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:80) 在 com.sun.proxy.$Proxy0.xadd(Unknown Source) 在 com.excent.experiences.tinnumber.LettuceDemo.main(LettuceDemo .java:48)
解决方案
推荐阅读
- amazon-web-services - 无法从 AWS 海王星上的读取器端点读取
- powerbi - 在 PowerBI 中将持续时间格式化为 hh:mm:ss 可重用
- python - Pandas,如何将列值从整数转换为预定义的字符串值
- gnu - GLPK #glpsol #TSP #读取数据
- c# - 引用实体框架标准 DLL 的 C# dotnet Core 项目
- python - 如何在pybind11中将已经绑定的类作为参数传递?
- reactjs - 如何使用功能组件使用导航 - 反应原生
- python - 数值求解 Friedmann-Lemâitre 方程时的问题
- django - 如何先用子集订购查询集
- excel - 需要清理多行订单表单上的 If Not Intersect Is Nothing 代码