如果我创建了一个包含以下 Redis 协议格式的命令的文件:
设置键 0 值 0设置键
1 值 1
...
设置键 N 值 N
如何在我的应用程序中使用 Jedis 将其提供给 Redis?
您可以使用流水线。它允许发送多个命令而无需等待单独的响应,然后获得唯一的响应。您将使用此功能获得更好的性能(与基本实现相比,您可以期待 x5)。
您的实现可能如下所示:
Pipeline p = jedis.pipelined();
for (int i=0; i < numberOfItems; i++) {
p.set(key[i], value[i]);
}
List<Object> results = p.syncAndReturnAll();
编辑
我后来发现,OP 正在寻找从 Tomcat 运行的解决方案。此处不建议使用原始 Redis 协议。使用帕斯卡的答案。
/编辑
我同意 Pascal 的观点,即流水线是几乎最快的大规模插入的好方法。但是,OP 已经在谈论 Redis 协议,它比流水线还要快。
然而,它并不是要从 Redis 客户端(如 Jedis)使用,而是要与 redis-cli 一起直接在服务器上使用。
请参阅此处了解更多信息。
希望这会有所帮助,TW